Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Level: A Backwards Level #287

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions gitgud/skills/level_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def goal(self):
pass

def status(self):
show_level_name(self)
show_tree()

def has_ever_been_completed(self):
return self._test()
Expand Down Expand Up @@ -148,7 +148,7 @@ def solution(self):
for command in solution:
print(command)

def _test(self):
def get_trees(self):
file_operator = operations.get_operator()
commits, head = parse_spec(self.file('test.spec'))

Expand All @@ -173,8 +173,11 @@ def _test(self):
# Name merges
name_merges(level_tree, test_tree)

return level_tree, test_tree

def _test(self):
# Test for similarity
return test_ancestry(level_tree, test_tree)
return test_ancestry(*self.get_trees())

def test_passed(self):
if self.file('passed.txt').exists():
Expand Down
2 changes: 1 addition & 1 deletion gitgud/skills/parsing.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ def name_merges(skill, test):


def test_ancestry(skill, test):
# Tests that the graph of the git history matches
# Tests that the graph of the git history matches exactly

if not check_commits(skill, test):
return False
Expand Down
1 change: 1 addition & 0 deletions gitgud/skills/rewriting/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ def status(self):
'Rewriting History',
'rewriting',
[
BasicLevel('A Backwards Level', 'backwards', __name__)
]
)
46 changes: 46 additions & 0 deletions gitgud/skills/rewriting/_backwards/details.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
'1':
message: "This"
add-files:
This.txt:
- "Hello, this file doesn't do anything"
'2':
message: "level"
add-files:
level.txt:
- "Hello, this file doesn't do anything"
'3':
message: "has"
add-files:
has.txt:
- "Hello, this file doesn't do anything"
'4':
message: "to"
add-files:
to.txt:
- "Hello, this file doesn't do anything"
'5':
message: "be"
add-files:
be.txt:
- "Hello, this file doesn't do anything"
'6':
message: "done"
add-files:
done.txt:
- "Hello, this file doesn't do anything"
'7':
message: "in"
add-files:
in.txt:
- "Hello, this file doesn't do anything"
'8':
message: "reverse"
add-files:
reverse.txt:
- "Hello, this file doesn't do anything"
'9':
message: "order"
add-files:
order.txt:
- "Hello, this file doesn't do anything"

3 changes: 3 additions & 0 deletions gitgud/skills/rewriting/_backwards/explanation.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Use this file to explain to the users how to use the git feature that this level focuses on.
>>>
Separate blocks using ">>>", and be sure to include tips and examples as explanation aids.
4 changes: 4 additions & 0 deletions gitgud/skills/rewriting/_backwards/filename.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Hey, this file is getting added by details.yaml to commit 4!

All this content will be copied exactly as it appears here, even with extra blank lines at the end of the file!

1 change: 1 addition & 0 deletions gitgud/skills/rewriting/_backwards/goal.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
In this file, write a short explanation of the level's goal (e.g. "Merge commits 1 and 2").
10 changes: 10 additions & 0 deletions gitgud/skills/rewriting/_backwards/setup.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
1 (master)
2 (level)
3 : 1
4
5 (hasto)
6 : 1 (done)
7 : 1
8
9 (reverse)
master
3 changes: 3 additions & 0 deletions gitgud/skills/rewriting/_backwards/solution.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
git rebase done reverse
git rebase hasto
git rebase level
14 changes: 14 additions & 0 deletions gitgud/skills/rewriting/_backwards/test.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
1 (master)
2 (level)
3 : 1
4
5 (hasto)
6 : 1 (done)
3' : 2
4'
5'
6''
7'''
8'''
9''' (reverse)
reverse
2 changes: 1 addition & 1 deletion gitgud/skills/test_levels.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,4 @@ def test_rebases_have_originals(level):
rebases = [name for name in names if name[-1] == "'"]

for rebase in rebases:
assert rebase[:-1] in names
assert rebase.replace("'", "") in names