Compare commits

..

No commits in common. "main" and "0.6.3" have entirely different histories.
main ... 0.6.3

20 changed files with 36 additions and 43 deletions

View file

@ -16,12 +16,12 @@ If you have ideas for new features, we'd be excited to hear them! Also in that c
Wanna build your own level? Great! Here's how to do it:
1. Download the latest version of the [Godot **3** game engine](https://godotengine.org/download/3.x). Godot 4 is not supported yet.
1. Download the latest version of the [Godot game engine](https://godotengine.org).
1. Clone this repository.
1. Run the game the easiest way to do so is to run `godot scenes/main.tscn` from the project directory.
1. Get a bit familiar with the levels which are currently there.
1. Take a look into the `levels` directory. It's split into chapters, and each level is a file.
1. Make a copy of an existing level or start writing your own. See the documentation of the format below.
1. Make a copy of an existing level or start writing your own. See the documention of the format below.
1. Write and test your level. If you're happy with it, feel free to send it to us in a pull request! <3
### Level format
@ -89,7 +89,7 @@ We have a [Code of Conduct](CODE_OF_CONDUCT.md) in place that applies to all pro
## Funded by
<a href="https://www.bmbf.de/en/"><img src="https://www.dipf.de/en/images/BMBF_4C_M_e.jpg/@@download/image/BMBF_4C_M_e.jpg" alt="Logo of the German Ministry for Education and Research" height="100px"></a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://prototypefund.de/en/"><img src="https://raw.githubusercontent.com/prototypefund/ptf-ci/main/logos/PrototypeFund-Icon.svg" alt="Logo of the Prototype Fund" height="100px"></a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://okfn.de/en/"><img src="https://upload.wikimedia.org/wikipedia/commons/4/4d/Open_Knowledge_Foundation_Deutschland_Logo.svg" alt="Logo of the Open Knowledge Foundation Germany" height="100px"></a>
<a href="https://www.bmbf.de/en/"><img src="https://timelens.io/assets/images/bmbf.svg" alt="Logo of the German Ministry for Education and Research" height="100px"></a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://prototypefund.de/en/"><img src="https://timelens.io/assets/images/prototypefund.svg" alt="Logo of the Prototype Fund" height="100px"></a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://okfn.de/en/"><img src="https://timelens.io/assets/images/okfde.svg" alt="Logo of the Open Knowledge Foundation Germany" height="100px"></a>
## Thanks

View file

@ -9,7 +9,7 @@ Oh no! You have lost your key at some point during the day!
Sure, you could look at every single commit in an attempt to find it - but there's a better way: your time machine has a built-in way to find the point in time where things went wrong quickly!
First, play the "bisect start" card. Then, go to a commit where you don't have the key, and play the "bisect bad" card. Likewise, go to a commit early on where you have the key *in your pocket*, and play the "bisect good" card.
First, play the "bisect start" card. Then, go to a commit where you don't have the key, and play the "bisect bad" card. Likewise, go to a commit early on where you have the key *in your pocket*, and play the "bisect good card".
After you've found the last good commit, reset the main branch to it. What happened to the key after you lost it?

View file

@ -5,17 +5,9 @@ cards = checkout commit-auto merge reset-hard
One of your colleagues messed up here, and put the branches in the wrong timelines!
You could delete and re-create these branches - but you can also directly move them to different commits, by using
You could delete and re-create these branches - but you can also directly move them to different commits, using `git reset --hard`.
git checkout
on the branch names, and then using
git reset --hard
on the commit where you want the branch to be.
The donut branch is in the right place, but the timeline is still incomplete - make you actually *eat* the donut in that branch!
The donut branch is in the right place, but the timeline is still incomplete.
[setup]

View file

@ -71,7 +71,7 @@ git commit -am "Put on shirt"
[win]
# Reorder the commits to dress yourself in the correct way
{ git log main --oneline | perl -0777 -ne'exit(1) if not /shoes[\s\S]*pants[\s\S]*underwear/'; } && { test "$(git log main --oneline | wc -l)" -eq 5; }
{ git log main --oneline | grep -Pz "shoes[\s\S]*pants[\s\S]*underwear"; } && { test "$(git log main --oneline | wc -l)" -eq 5; }
[congrats]

View file

@ -9,7 +9,7 @@ you see that their colors match the color of your bed!
Build up your two pieces of furniture by playing the touch card.
Then name your furniture - you can choose whatever you like.
Make sure the colors match! You can find the bed's color in its description.
Make sure the colors match! You can find the bed's color in it's description.
Don't forget to add a color and description to your new furnitures, too!
[setup]

View file

@ -35,4 +35,4 @@ test "$(git show main^:c)" != "c"
[congrats]
Well done! Try travelling between the commits using `git checkout`, so you can look at their contents again!
Well done! Try tavelling between the commits using `git checkout`, so you can look at their contents again!

View file

@ -9,8 +9,7 @@ Have a look at these two timelines. They have exactly the same outcome. But one
[win]
# Right! Having each change in its own commit makes it easier to understand what's going on! Let's learn how to do that!
git branch --show-current | grep step-by-step
Right! Having each change in its own commit makes it easier to understand what's going on! Let's learn how to do that!
[setup]
@ -47,5 +46,5 @@ git checkout HEAD~3
[win]
# Pick the timeline that's clearer, and make the alarm go off!
git show step-by-step:smoke_detector | tail -n 1 | grep -v "absolutely silent"
# Pick the timeline that's clearer, and make the next logical change!
git show step-by-step:smoke_detector | grep -v "absolutely silent"

View file

@ -74,9 +74,6 @@ git branch -D main
# Build a situation where you consumed a baguette, a coffee, *and* a donut.
{ git show HEAD:you | grep "You ate.*baguette"; } && { git show HEAD:you | grep "You drank.*coffee"; } && { git show HEAD:you | grep "You ate.*donut"; }
# Be on a merge commit.
test "$(git log --pretty=%P -n 1 HEAD | wc -w)" -ge 2
[congrats]
I wonder if you're more relaxed when you *sleep* in parallel timelines...

View file

@ -30,4 +30,4 @@ test "$(git status -s)" = ""
[win friend]
# Look at your friend's suggestion, make a compromise, and push it back.
git rev-parse main^ && test "$(git rev-parse main^1^)" = "$(git rev-parse main^2^)"
git show main:file | grep green && git show main:file | grep blue || git show main:file | grep turquoise

View file

@ -3,7 +3,7 @@ cards = checkout commit-auto pull fetch push
[description]
Here's a sandbox with a remote! Try pulling, fetching, or pushing!
Here's a sandbox with a remote! Try pulling, fetching, or pulling!
How can you push tags and branches on a remote? How can you delete them again?

View file

@ -5,9 +5,9 @@ cards = checkout reflog
Say you were looking at something in the past, and then switched back to the main branch.
But then, you got reaaally distracted, and after your lunch break, you can't remember which past commit you were on before. How can you find out?
But then, you got reaaally distracted, and after your lunch break, you can't remember on which commit in the past you were before. How can you find out?
There's a convenient command that shows you all the places your HEAD has pointed to in the past:
There's a convenient command that shows you all the places your HEAD did point to in the past:
git reflog

View file

@ -4,7 +4,7 @@ cards = checkout commit-auto merge reset-hard
[description]
You will encounter situations in which you are working on your project but you need to
put your current changes aside temporarily. To do so, you can use the stash function. Use
put your current changes aride temporarily. To do so, you can use the stash function. Use
git stash push
to add your current changes to the stash stack.

View file

@ -11,7 +11,7 @@ Oh, you don't want to keep your stashed changes? There are way too many? Then go
If you only want to discard a certain stash entry, you can use
git stash drop <stash>
Clear your stash stack!
Clear you stash stack!
---
tipp1

View file

@ -39,7 +39,7 @@ git add recipe
[win]
# Did you resolve the conflict and commit?
# Did you resolve the confict and commit?
{ git show HEAD | grep "Flour"; } && { git show HEAD | grep "Salt"; }
# Did you clear stash stack?

View file

@ -17,7 +17,7 @@ You can also sync
git fetch <remote> --prune --prune-tags
Add a tag named "v2" to the last commit and push it to the remote. Also pull the v1 tag to your local repository.
Add a tag names "v2" to the last commit and push it to the remote. Also pull the v1 tag to your local repository.
[setup yours]
git checkout main

View file

@ -3,8 +3,7 @@ cards = clone commit-auto reset-hard checkout file-new branch
[description]
Your friend has a problem! Clone the repo located in `../friend`, create a branch called "solution", and fix the problem in this branch. When you're ready, make a "Pull Request" by using `git tag pr`.
Your friend has a problem! Clone the repo, create a branch called "solution", and fix the problem in this branch. When you're ready, make a "Pull Request" by using `git tag pr`.
[setup]

View file

@ -107,7 +107,7 @@
{
"id": "revert",
"command": "git revert [commit]",
"description": "Make a new commit that reverts the changes of the specified commit."
"description": "Make a new commit that reverts the changes of the speicified commit."
},
{
"id": "bisect-start",
@ -157,7 +157,7 @@
{
"id": "reflog",
"command": "git reflog [ref, head]",
"description": "Display a log of where the ref pointed to in the past."
"description": "Display a log of there the ref pointed to in the past."
},
{
"id": "file-new",

View file

@ -74,7 +74,7 @@ func shell_received(text):
func _notification(what):
if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST:
#get_tree().quit() # default behavior
#get_tree().quit() # default behavio
get_tree().change_scene("res://scenes/survey.tscn")

View file

@ -86,15 +86,21 @@ func parse_args():
return arguments
func careful_delete(path_inside):
var expected_prefix = "%s/tmp/" % OS.get_user_data_dir()
var expected_prefix
var os = OS.get_name()
if os == "Windows":
# In the game, we use forward slashes:
expected_prefix = expected_prefix.replace("\\", "/")
if os == "X11":
expected_prefix = "/home/%s/.local/share/Oh My Git/tmp/" % OS.get_environment("USER")
elif os == "OSX":
expected_prefix = "/Users/%s/Library/Application Support/Oh My Git/tmp/" % OS.get_environment("USER")
elif os == "Windows":
expected_prefix = "C:/Users/%s/AppData/Roaming/Oh My Git/tmp/" % OS.get_environment("USERNAME")
# Windows treats paths case-insensitively:
expected_prefix = expected_prefix.to_lower()
path_inside = path_inside.to_lower()
else:
helpers.crash("Unsupported OS: %s" % os)
if path_inside.substr(0,expected_prefix.length()) != expected_prefix:
helpers.crash("Refusing to delete directory %s that does not start with %s" % [path_inside, expected_prefix])

View file

@ -34,12 +34,12 @@ while(true) {
STDOUT->flush();
$s = "";
$command = $s2 . "\necho -e \"\\v\"\n";
$command = $s2 . "\necho MAGIC\n";
print $in $command;
inner_while: while (true) {
$line = <$out>;
if ($line =~ s/\cK//) {
if ($line eq "MAGIC\n") {
STDOUT->flush();
last inner_while;
}