changeset 862:f34e1dc7314c

git_handler: Fix extra bookmark created after pushed to empty remote repo.
author Paul Chen <lancevdance@gmail.com>
date Sat, 21 Feb 2015 14:49:43 +0800
parents cdf46071a83f
children 9036716a1271
files hggit/git_handler.py tests/test-push.t
diffstat 2 files changed, 24 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -983,9 +983,9 @@
                     del new_refs['capabilities^{}']
                     tip = hex(tip)
                     try:
-                        commands.bookmark(self.ui, self.repo, 'master', tip, force=True)
+                        commands.bookmark(self.ui, self.repo, 'master', rev=tip, force=True)
                     except NameError:
-                        bookmarks.bookmark(self.ui, self.repo, 'master', tip, force=True)
+                        bookmarks.bookmark(self.ui, self.repo, 'master', rev=tip, force=True)
                     bookmarks.setcurrent(self.repo, 'master')
                     new_refs['refs/heads/master'] = self.map_git_get(tip)
 
--- a/tests/test-push.t
+++ b/tests/test-push.t
@@ -177,3 +177,25 @@
   searching for changes
   no changes found
   [1]
+
+The remote repo is empty and the local one doesn't have any bookmarks/tags
+  $ cd hgrepo2
+  $ echo init >> test.txt
+  $ hg addremove
+  adding test.txt
+  $ fn_hg_commit -m init
+  $ hg update null
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg push ../gitrepo2
+  pushing to ../gitrepo2
+  searching for changes
+  adding objects
+  added 1 commits with 1 trees and 1 blobs
+  $ hg summary
+  parent: -1:000000000000  (no revision checked out)
+  branch: default
+  commit: (clean)
+  update: 1 new changesets (update)
+Only one bookmark 'master' should be created
+  $ hg bookmarks
+   * master                    0:8aded40be5af