# HG changeset patch # User Scott Chacon # Date 1241030198 25200 # Node ID 87d462a6b796c3d7efd0b96f0587fa5f8a9a486e # Parent 1421d04f1ad2e3fe18b6c840d4964d96601a4114 pushing nothing works better diff -r 1421d04f1ad2 -r 87d462a6b796 TODO.txt --- a/TODO.txt Wed Apr 29 11:04:45 2009 -0700 +++ b/TODO.txt Wed Apr 29 11:36:38 2009 -0700 @@ -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 diff -r 1421d04f1ad2 -r 87d462a6b796 dulwich/client.py --- a/dulwich/client.py Wed Apr 29 11:04:45 2009 -0700 +++ b/dulwich/client.py Wed Apr 29 11:36:38 2009 -0700 @@ -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 = [] diff -r 1421d04f1ad2 -r 87d462a6b796 git_handler.py --- a/git_handler.py Wed Apr 29 11:04:45 2009 -0700 +++ b/git_handler.py Wed Apr 29 11:36:38 2009 -0700 @@ -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