# HG changeset patch # User Paul Crowley # Date 1204628621 0 # Node ID 24c600e5cb718848f99d09efcf14988048bdaf10 # Parent c0be990fe8a88b00630c1656d0029fe60ea48b02 fixes to file deletes, second parents, mark handling diff -r c0be990fe8a8 -r 24c600e5cb71 fastimport/hgimport.py --- a/fastimport/hgimport.py Tue Mar 04 11:02:19 2008 +0000 +++ b/fastimport/hgimport.py Tue Mar 04 11:03:41 2008 +0000 @@ -68,31 +68,41 @@ first_parent = self.committish_rev(cmd.from_) else: first_parent = self.branch_map.get(cmd.ref, nullrev) + #self.ui.write("First parent: %s\n" % first_parent) # Update to the first parent mercurial.hg.clean(self.repo, self.repo.lookup(first_parent)) + #self.ui.write("Bing\n") if cmd.parents: + #self.ui.write("foo") if len(cmd.parents) > 1: raise NotImplementedError("Can't handle more than two parents") - second_parent = cmd.parents[0] + second_parent = self.committish_rev(cmd.parents[0]) + #self.ui.write("Second parent: %s\n" % second_parent) mercurial.commands.debugsetparents(self.ui, self.repo, first_parent, second_parent) + #self.ui.write("Bing\n") if cmd.ref == "refs/heads/master": branch = "default" else: branch = cmd.ref[len("refs/heads/"):] + #self.ui.write("Branch: %s\n" % branch) self.repo.dirstate.setbranch(branch) + #self.ui.write("Bing\n") #print "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv" commit_handler = HgImportCommitHandler(cmd, self.ui, self.repo, **self.opts) commit_handler.process() #print "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" + #self.ui.write(cmd.dump_str(verbose=True)) node = self.repo.rawcommit(files = commit_handler.filelist(), text = cmd.message, user = cmd.committer[1], date = self.convert_date(cmd.committer)) rev = self.repo.changelog.rev(node) - self.mark_map[cmd.mark] = rev + if cmd.mark is not None: + self.mark_map[":" + cmd.mark] = rev self.branch_map[cmd.ref] = rev self.ui.write("Done commit of rev %d\n" % rev) + #self.ui.write("%s\n" % self.mark_map) def convert_date(self, c): res = (int(c[2]), int(c[3])) @@ -139,9 +149,9 @@ #print self.repo.add([filecmd.path]) #print "Done:", filecmd.path - #def delete_handler(self, filecmd): - # self.files.add(filecmd.path) - # os.remove(filecmd.path) + def delete_handler(self, filecmd): + self.files.add(filecmd.path) + self.repo.remove([filecmd.path], unlink=True) #def copy_handler(self, filecmd): # self.files.add(filecmd.path)