diff options
| author | lhchavez <[email protected]> | 2020-02-23 15:08:45 +0000 |
|---|---|---|
| committer | lhchavez <[email protected]> | 2020-02-23 15:08:45 +0000 |
| commit | 3c88bd9f1aebc53ea9d77937829f8c155aa834c3 (patch) | |
| tree | 8556d00fb42f2fcab5ba748e49e21e1141b9d604 /repository_test.go | |
| parent | c75e0221d70bc471917aa3de34ca1ead1a747987 (diff) | |
| parent | 21d618136f415486d95965e75af80c0e6688a0d5 (diff) | |
Merge remote-tracking branch 'upstream/master' into cherrypick-commit
Diffstat (limited to 'repository_test.go')
| -rw-r--r-- | repository_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/repository_test.go b/repository_test.go new file mode 100644 index 0000000..1950c69 --- /dev/null +++ b/repository_test.go @@ -0,0 +1,42 @@ +package git + +import ( + "testing" + "time" +) + +func TestCreateCommitFromIds(t *testing.T) { + t.Parallel() + repo := createTestRepo(t) + defer cleanupTestRepo(t, repo) + + loc, err := time.LoadLocation("Europe/Berlin") + checkFatal(t, err) + sig := &Signature{ + Name: "Rand Om Hacker", + Email: "[email protected]", + When: time.Date(2013, 03, 06, 14, 30, 0, 0, loc), + } + + idx, err := repo.Index() + checkFatal(t, err) + err = idx.AddByPath("README") + checkFatal(t, err) + err = idx.Write() + checkFatal(t, err) + treeId, err := idx.WriteTree() + checkFatal(t, err) + + message := "This is a commit\n" + tree, err := repo.LookupTree(treeId) + checkFatal(t, err) + expectedCommitId, err := repo.CreateCommit("HEAD", sig, sig, message, tree) + checkFatal(t, err) + + commitId, err := repo.CreateCommitFromIds("", sig, sig, message, treeId) + checkFatal(t, err) + + if !expectedCommitId.Equal(commitId) { + t.Errorf("mismatched commit ids, expected %v, got %v", expectedCommitId.String(), commitId.String()) + } +} |
