From 374e2112dfc298fa5ecb0805624d75b3500cc345 Mon Sep 17 00:00:00 2001 From: Jesse Ezell Date: Thu, 27 Feb 2014 16:36:44 -0800 Subject: add push, refine remotes --- push_test.go | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 push_test.go (limited to 'push_test.go') diff --git a/push_test.go b/push_test.go new file mode 100644 index 0000000..dfd4af7 --- /dev/null +++ b/push_test.go @@ -0,0 +1,56 @@ +package git + +import ( + "log" + "testing" + "time" +) + +func Test_Push_ToRemote(t *testing.T) { + repo := createBareTestRepo(t) + repo2 := createTestRepo(t) + + 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: "random@hacker.com", 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() +} -- cgit v1.2.3 From 3ae9813fca2837601e5a7c801972396a59e1eb59 Mon Sep 17 00:00:00 2001 From: Carlos Martín Nieto Date: Wed, 19 Mar 2014 08:03:21 +0100 Subject: Clean up after the tests --- clone_test.go | 4 ++++ push_test.go | 3 +++ 2 files changed, 7 insertions(+) (limited to 'push_test.go') diff --git a/clone_test.go b/clone_test.go index 6145228..97366bf 100644 --- a/clone_test.go +++ b/clone_test.go @@ -2,18 +2,22 @@ package git import ( "io/ioutil" + "os" "testing" ) func TestClone(t *testing.T) { repo := createTestRepo(t) + defer os.RemoveAll(repo.Workdir()) + seedTestRepo(t, repo) path, err := ioutil.TempDir("", "git2go") checkFatal(t, err) _, err = Clone(repo.Path(), path, &CloneOptions{Bare: true}) + defer os.RemoveAll(path) checkFatal(t, err) } diff --git a/push_test.go b/push_test.go index dfd4af7..c1e6a22 100644 --- a/push_test.go +++ b/push_test.go @@ -2,13 +2,16 @@ 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) -- cgit v1.2.3