diff options
| author | Carlos Martín Nieto <[email protected]> | 2015-03-22 07:25:28 +0100 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2015-03-22 07:25:28 +0100 |
| commit | a4d5118374607f107af8063797f62e6a9f7470aa (patch) | |
| tree | e78c8ff24d52ea3dc469a8b7e131513243c62af6 /reset_test.go | |
| parent | c4fce1a218fd33938c0be90e939531c0a00ebf7f (diff) | |
| parent | 89d67328f3682c49db296831538c8638fcfe53fe (diff) | |
Merge pull request #185 from griffindy/dg-add-reset
Add support for libgit2's git_reset.
Diffstat (limited to 'reset_test.go')
| -rw-r--r-- | reset_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/reset_test.go b/reset_test.go new file mode 100644 index 0000000..ec578bd --- /dev/null +++ b/reset_test.go @@ -0,0 +1,45 @@ +package git + +import ( + "io/ioutil" + "testing" +) + +func TestResetToCommit(t *testing.T) { + repo := createTestRepo(t) + seedTestRepo(t, repo) + // create commit to reset to + commitId, _ := updateReadme(t, repo, "testing reset") + // create commit to reset from + nextCommitId, _ := updateReadme(t, repo, "will be reset") + + // confirm that we wrote "will be reset" to the readme + newBytes, err := ioutil.ReadFile(pathInRepo(repo, "README")) + checkFatal(t, err) + if string(newBytes) != "will be reset" { + t.Fatalf("expected %s to equal 'will be reset'", string(newBytes)) + } + + // confirm that the head of the repo is the next commit id + head, err := repo.Head() + checkFatal(t, err) + if head.Target().String() != nextCommitId.String() { + t.Fatalf( + "expected to be at latest commit %s, but was %s", + nextCommitId.String(), + head.Target().String(), + ) + } + + commitToResetTo, err := repo.LookupCommit(commitId) + checkFatal(t, err) + + repo.ResetToCommit(commitToResetTo, ResetHard, &CheckoutOpts{}) + + // check that the file now reads "testing reset" like it did before + bytes, err := ioutil.ReadFile(pathInRepo(repo, "README")) + checkFatal(t, err) + if string(bytes) != "testing reset" { + t.Fatalf("expected %s to equal 'testing reset'", string(bytes)) + } +} |
