diff options
| author | Jesse Ezell <[email protected]> | 2014-04-04 00:26:22 -0700 |
|---|---|---|
| committer | Jesse Ezell <[email protected]> | 2014-04-04 00:26:22 -0700 |
| commit | 8319a792f3184714d8f2bfa562523d1a91a9392c (patch) | |
| tree | c3914d4a38355f9145884c3a278b81fbb428ce46 /push_test.go | |
| parent | 5590078e6ff04be425b4a833adb44a0845c0b52f (diff) | |
| parent | 9cd1d129bcd567ef65137783a603f8d898d8d933 (diff) | |
Merge remote-tracking branch 'libgit/master' into branch-iterator
Diffstat (limited to 'push_test.go')
| -rw-r--r-- | push_test.go | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/push_test.go b/push_test.go new file mode 100644 index 0000000..c1e6a22 --- /dev/null +++ b/push_test.go @@ -0,0 +1,59 @@ +package git + +import ( + "log" + "os" + "testing" + "time" +) + +func Test_Push_ToRemote(t *testing.T) { + repo := createBareTestRepo(t) + defer os.RemoveAll(repo.Path()) + repo2 := createTestRepo(t) + defer os.RemoveAll(repo2.Workdir()) + + remote, err := repo2.CreateRemote("test_push", repo.Path()) + checkFatal(t, err) + + index, err := repo2.Index() + checkFatal(t, err) + + index.AddByPath("README") + + err = index.Write() + checkFatal(t, err) + + newTreeId, err := index.WriteTree() + checkFatal(t, err) + + tree, err := repo2.LookupTree(newTreeId) + checkFatal(t, err) + + sig := &Signature{Name: "Rand Om Hacker", Email: "[email protected]", When: time.Now()} + // this should cause master branch to be created if it does not already exist + _, err = repo2.CreateCommit("HEAD", sig, sig, "message", tree) + checkFatal(t, err) + + push, err := remote.NewPush() + checkFatal(t, err) + + err = push.AddRefspec("refs/heads/master") + checkFatal(t, err) + + err = push.Finish() + checkFatal(t, err) + + err = push.StatusForeach(func(ref string, msg string) int { + log.Printf("%s -> %s", ref, msg) + return 0 + }) + checkFatal(t, err) + + if !push.UnpackOk() { + t.Fatalf("unable to unpack") + } + + defer remote.Free() + defer repo.Free() +} |
