summaryrefslogtreecommitdiff
path: root/merge_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'merge_test.go')
-rw-r--r--merge_test.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/merge_test.go b/merge_test.go
index cc7af81..7e884c0 100644
--- a/merge_test.go
+++ b/merge_test.go
@@ -1,6 +1,7 @@
package git
import (
+ "os"
"testing"
)
@@ -65,6 +66,28 @@ func TestMergeSameFile(t *testing.T) {
compareBytes(t, file.Contents, result.Contents)
}
+func TestMergeTreesWithoutAncestor(t *testing.T) {
+ repo := createTestRepo(t)
+ defer repo.Free()
+ defer os.RemoveAll(repo.Workdir())
+
+ _, originalTreeId := seedTestRepo(t, repo)
+ originalTree, err := repo.LookupTree(originalTreeId)
+
+ checkFatal(t, err)
+
+ _, newTreeId := updateReadme(t, repo, "file changed\n")
+
+ newTree, err := repo.LookupTree(newTreeId)
+ checkFatal(t, err)
+ index, err := repo.MergeTrees(nil, originalTree, newTree, nil)
+ if !index.HasConflicts() {
+ t.Fatal("expected conflicts in the index")
+ }
+ _, err = index.GetConflict("README")
+ checkFatal(t, err)
+
+}
func compareBytes(t *testing.T, expected, actual []byte) {
for i, v := range expected {