title = Merging timelines
cards = checkout commit-auto merge

[description]

Here's a trick so that you can sleep a bit longer: just do all your morning activities in parallel universes, and then at the end, merge them together!

Here, you see three parallel timelines - can you build a situation where you consumed a baguette, a coffee, *and* a donut?

The "merge" card will help you - try it!

[setup]

echo "A friendly old lady.
Sells delicious baguettes." > mary

echo "A rebellious teenager.
Sells good coffee." > larry

echo "A snail. Literally a snail.
Sells donuts with an unspecified, slimy filling." > gary

echo "You do not have a baguette.

You do not have coffee.

You do not have a donut." > you

git add .
git commit -m "The Beginning"

echo "You have a baguette.

You do not have coffee.

You do not have a donut." > you
git add .
git commit -m "You buy a baguette"

echo "You ate a baguette.

You do not have coffee.

You do not have a donut." > you
git add .
git commit -m "You eat the baguette"

git checkout HEAD~2
echo "You do not have a baguette.

You have coffee.

You do not have a donut." > you
git add .
git commit -m "You buy some coffee"

echo "You do not have a baguette.

You drank coffee.

You do not have a donut." > you
git add .
git commit -m "You drink the coffee"

git checkout HEAD~2
echo "You do not have a baguette.

You do not have coffee.

You have a donut." > you
git add .
git commit -m "You buy a donut"

echo "You do not have a baguette.

You do not have coffee.

You ate a donut." > you
git add .
git commit -m "You eat the donut"

git checkout HEAD~2
git branch -D main

[win]

{ git show HEAD:you | grep "You ate.*baguette"; } && { git show HEAD:you | grep "You drank.*coffee"; } && { git show HEAD:you | grep "You ate.*donut"; }

[congrats]

I wonder if you're more relaxed when you *sleep* in parallel timelines...