Skip to content

Commit a89f3f0

Browse files
authored
Merge pull request #25 from epage/fix
fix: Restore yaml parsing
2 parents 8922fd0 + 8723a3b commit a89f3f0

File tree

10 files changed

+420
-11
lines changed

10 files changed

+420
-11
lines changed

Cargo.lock

Lines changed: 18 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ humantime-serde = "1"
3434
bstr = { version = "0.2", features = ["serde1"] }
3535
derive_more = "0.99.17"
3636
eyre = "0.6"
37-
serde_yaml = "0.9.10"
37+
serde_yaml = "0.8.0"
3838
serde_json = "1.0"
3939
schemars = { version = "0.8.8", features = ["preserve_order"] }
4040
toml = "0.5"

tests/fixtures.rs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#[track_caller]
2+
fn assert_success(path: impl AsRef<std::path::Path>) {
3+
git_fixture::Dag::load(path.as_ref()).unwrap();
4+
}
5+
6+
#[test]
7+
fn branches() {
8+
assert_success("tests/fixtures/branches.yml");
9+
}
10+
11+
#[test]
12+
fn conflict() {
13+
assert_success("tests/fixtures/conflict.yml");
14+
}
15+
16+
#[test]
17+
fn fixup() {
18+
assert_success("tests/fixtures/fixup.yml");
19+
}
20+
21+
#[test]
22+
fn git_rebase_existing() {
23+
assert_success("tests/fixtures/git_rebase_existing.yml");
24+
}
25+
26+
#[test]
27+
fn git_rebase_new() {
28+
assert_success("tests/fixtures/git_rebase_new.yml");
29+
}
30+
31+
#[test]
32+
fn pr_semi_linear_merge() {
33+
assert_success("tests/fixtures/pr-semi-linear-merge.yml");
34+
}
35+
36+
#[test]
37+
fn pr_squash() {
38+
assert_success("tests/fixtures/pr-squash.yml");
39+
}

tests/fixtures/branches.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
init: true
2+
events:
3+
- tree:
4+
tracked:
5+
"file_a.txt": "1"
6+
message: "1"
7+
branch: initial
8+
- tree:
9+
tracked:
10+
"file_a.txt": "2"
11+
message: "2"
12+
- tree:
13+
tracked:
14+
"file_a.txt": "3"
15+
message: "3"
16+
branch: base
17+
- children:
18+
- - tree:
19+
tracked:
20+
"file_a.txt": "3"
21+
"file_b.txt": "1"
22+
message: "4"
23+
- tree:
24+
tracked:
25+
"file_a.txt": "3"
26+
"file_b.txt": "2"
27+
message: "5"
28+
branch: master
29+
- tree:
30+
tracked:
31+
"file_a.txt": "3"
32+
"file_b.txt": "3"
33+
message: "6"
34+
branch: off_master
35+
- - tree:
36+
tracked:
37+
"file_a.txt": "3"
38+
"file_c.txt": "1"
39+
message: "7"
40+
branch: feature1
41+
- tree:
42+
tracked:
43+
"file_a.txt": "3"
44+
"file_c.txt": "2"
45+
message: "8"
46+
- tree:
47+
tracked:
48+
"file_a.txt": "3"
49+
"file_c.txt": "3"
50+
message: "9"
51+
- tree:
52+
tracked:
53+
"file_a.txt": "3"
54+
"file_c.txt": "4"
55+
message: "10"
56+
branch: feature2

tests/fixtures/conflict.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
init: true
2+
events:
3+
- tree:
4+
tracked:
5+
"file_a.txt": "1"
6+
message: "1"
7+
branch: initial
8+
- tree:
9+
tracked:
10+
"file_a.txt": "2"
11+
message: "2"
12+
- tree:
13+
tracked:
14+
"file_a.txt": "3"
15+
message: "3"
16+
branch: base
17+
- children:
18+
- - tree:
19+
tracked:
20+
"file_a.txt": "4"
21+
message: "4"
22+
- tree:
23+
tracked:
24+
"file_a.txt": "5"
25+
message: "5"
26+
branch: master
27+
- - tree:
28+
tracked:
29+
"file_a.txt": "6"
30+
message: "7"
31+
branch: feature1

tests/fixtures/fixup.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
init: true
2+
events:
3+
- tree:
4+
tracked:
5+
"file_a.txt": "3"
6+
message: "commit 1"
7+
branch: base
8+
- tree:
9+
tracked:
10+
"file_a.txt": "3"
11+
"file_b.txt": "1"
12+
message: "commit 2"
13+
- tree:
14+
tracked:
15+
"file_a.txt": "3"
16+
"file_b.txt": "2"
17+
message: "master commit"
18+
branch: master
19+
- tree:
20+
tracked:
21+
"file_a.txt": "3"
22+
"file_b.txt": "3"
23+
message: "feature1 commit 1"
24+
- tree:
25+
tracked:
26+
"file_a.txt": "3"
27+
"file_b.txt": "5"
28+
message: "feature1 commit 2"
29+
branch: feature1
30+
- tree:
31+
tracked:
32+
"file_a.txt": "3"
33+
"file_c.txt": "1"
34+
message: "fixup! feature1 commit 1"
35+
- tree:
36+
tracked:
37+
"file_a.txt": "3"
38+
"file_c.txt": "4"
39+
message: "feature1 commit 3"
40+
- tree:
41+
tracked:
42+
"file_a.txt": "3"
43+
"file_c.txt": "1"
44+
message: "fixup! feature1 commit 1"
45+
- tree:
46+
tracked:
47+
"file_a.txt": "3"
48+
"file_c.txt": "2"
49+
message: "fixup! feature1 commit 2"
50+
- tree:
51+
tracked:
52+
"file_a.txt": "3"
53+
"file_c.txt": "4"
54+
message: "feature2 commit"
55+
- tree:
56+
tracked:
57+
"file_a.txt": "3"
58+
"file_c.txt": "1"
59+
message: "fixup! feature1 commit 1"
60+
branch: feature2
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
init: true
2+
events:
3+
- tree:
4+
tracked:
5+
"file_a.txt": "1"
6+
message: "1"
7+
branch: initial
8+
- tree:
9+
tracked:
10+
"file_a.txt": "2"
11+
message: "2"
12+
- tree:
13+
tracked:
14+
"file_a.txt": "3"
15+
message: "3"
16+
branch: master
17+
- children:
18+
- - tree:
19+
tracked:
20+
"file_a.txt": "3"
21+
"file_b.txt": "1"
22+
message: "7"
23+
- tree:
24+
tracked:
25+
"file_a.txt": "3"
26+
"file_b.txt": "2"
27+
message: "8"
28+
branch: feature2
29+
# `git rebase master` caused the history to split
30+
- - tree:
31+
tracked:
32+
"file_a.txt": "3"
33+
"file_b.txt": "1"
34+
message: "7"
35+
branch: feature1

tests/fixtures/git_rebase_new.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
init: true
2+
events:
3+
- tree:
4+
tracked:
5+
"file_a.txt": "1"
6+
message: "1"
7+
branch: initial
8+
- tree:
9+
tracked:
10+
"file_a.txt": "2"
11+
message: "2"
12+
- tree:
13+
tracked:
14+
"file_a.txt": "3"
15+
message: "3"
16+
branch: master
17+
- children:
18+
- - tree:
19+
tracked:
20+
"file_a.txt": "3"
21+
"file_b.txt": "1"
22+
message: "7"
23+
- tree:
24+
tracked:
25+
"file_a.txt": "3"
26+
"file_b.txt": "1"
27+
"file_c.txt": "1"
28+
message: "8"
29+
branch: feature2
30+
# `git rebase master` caused the history to split
31+
- - tree:
32+
tracked:
33+
"file_a.txt": "3"
34+
"file_b.txt": "1"
35+
message: "7"
36+
branch: feature1

0 commit comments

Comments
 (0)