Re: A flaw in finding minimal-complexity symbol conversions?
Michael Haggerty <[email protected]> Thu, 17 Dec 2009 09:15:53 +0100
| Newsgroups | gmane.comp.version-control.subversion.cvs2svn.devel |
|---|---|
| Message-ID | <[email protected]> |
Greg Ward wrote: > [...] > Hmmmmm. I wonder if this has anything to do with my cute "sloppy > fixups" hack. The idea of sloppy fixups is to suppress a fixup that > only deletes files, since that is almost certainly a CVS partial tag. > [...] Well, in a perfect world you might be right. But real-world cvs2svn is not perfect at picking tagging points, and one of its weaknesses is that it does not consider file deletions. This appears most obviously in the following scenario: work work work commit1 delete file1 commit2 create TAG1 It is clear that TAG1 should sprout from the point after commit2, because the tag should *not* include file1. But cvs2svn doesn't weigh the deletion of file1, so it doesn't care whether to make TAG1 sprout from commit1 or commit2. It ends up choosing the earlier one, namely commit1, and only later realizes that it has to delete file1 as part of the TAG1 fixup. In fact, this problem is illustrated in the test "tagging_after_delete()" in the test suite, which is XFail. It is also part of what's left of issue 55 [1]. From your description of your "sloppy fixups" hack, it sounds like the resulting Mercurial repository would incorrectly include file1 in TAG1. Michael [1] http://cvs2svn.tigris.org/issues/show_bug.cgi?id=55 ------------------------------------------------------ http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2431068 To unsubscribe from this discussion, e-mail: [[email protected]].