Mercurial > hg > hg-git
changeset 52:87d462a6b796
pushing nothing works better
author | Scott Chacon <schacon@gmail.com> |
---|---|
date | Wed, 29 Apr 2009 11:36:38 -0700 |
parents | 1421d04f1ad2 |
children | 5deb5cbd86aa |
files | TODO.txt dulwich/client.py git_handler.py |
diffstat | 3 files changed, 12 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/TODO.txt +++ b/TODO.txt @@ -2,6 +2,7 @@ ========== * respect file modes on conversions * explicit file renames +* integrate as native protocol handler (hg push git://...) * more tests * submodules? * .gitignore, etc - try to convert? @@ -9,24 +10,13 @@ PUSH ========== - -Getting (and not sure why): - error: Ref refs/heads/master is at 093772e7fa2ee3c0d488bc44317cfe66d72f09ed - but expected a89be0ca4c09782b6275a8e826c11a91b860a071 - error: failed to lock refs/heads/master - (it works, but why is it doing this?) - * push with branch names (w/ proper error messages) -* update 'remote' references after push confirmation -* push confirmation? is there extra data after the packfile upload? -* output something after process is complete (master -> master etc) - - explain what branch mapping policy determined +* explain what branch mapping policy determined when updating refs * convert tags to git * octopus merge explode re-implode FETCH =========== -* add removed files to filechanged and raise IOError * gfetch command * only try to import non-mapped commits * tag conversion
--- a/dulwich/client.py +++ b/dulwich/client.py @@ -118,7 +118,7 @@ if not changed_refs: print 'nothing changed' self.proto.write_pkt_line(None) - return + return None return_refs = copy.copy(changed_refs) want = []
--- a/git_handler.py +++ b/git_handler.py @@ -172,7 +172,7 @@ if pgit_sha: return pgit_sha - print "converting revision " + str(rev) + self.ui.status("converting revision " + str(rev)) # make sure parents are converted first parents = self.repo.parents(rev) @@ -286,13 +286,15 @@ changed = self.get_changed_refs genpack = self.generate_pack_contents try: + self.ui.status("creating and sending data\n") changed_refs = client.send_pack(path, changed, genpack) - new_refs = {} - for old, new, ref in changed_refs: - self.ui.status(" "+ remote_name + "::" + ref + " : GIT:" + old[0:8] + " => GIT:" + new[0:8] + "\n") - new_refs[ref] = new - self.git.set_remote_refs(new_refs, remote_name) - self.update_hg_bookmarks(remote_name) + if changed_refs: + new_refs = {} + for old, new, ref in changed_refs: + self.ui.status(" "+ remote_name + "::" + ref + " : GIT:" + old[0:8] + " => GIT:" + new[0:8] + "\n") + new_refs[ref] = new + self.git.set_remote_refs(new_refs, remote_name) + self.update_hg_bookmarks(remote_name) except: raise