git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: cvs2svn conversion directly to git ready for experimentation

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Aug 2, 2007, 23:50 UTC
Message-ID
<46B26DA8.6010102@alum.mit.edu>
In-Reply-To
<46B25FC3.6000205@fs.ei.tum.de>
Simon 'corecode' Schubert wrote:
Show 10 quoted lines
> Steffen Prohaska wrote:
>> BTW, togit creates much more complex branching patterns than cvs2svn
>> does. The attached file branching.png displays a small view of a
>> branching pattern that extends downwards over a couple of screens.
>> I checked the cvs2svn history again. It doesn't contain anything
>> of similar complexity.
> 
> haha yea, there is still some issue with duplicate branch names and the
> branchpoint.  if it doesn't get the branch right, it will always "pull"
> files from the parent branch.

This sounds very much like the problem reported by Daniel Jacobowitz [1]. The problem is that if you create a branch A on a file, then create branch B from branch A before making a commit on branch A, then CVS doesn't record that branch A was the source of branch B. (It treats B as if it sprouted directly from the revision that was the *source* of branch A.) The same problem exists if "B" is a tag.

The only way to determine the correct branch hierarchy is to consider the branch hierarchy of multiple files at the same time.

cvs2svn 2.0 includes code to choose a "preferred parent" of each branch and try to use that parent for every file that is on the branch. It helps simplify branch creation quite a bit. The main limitation is that it still doesn't consider the revision copied back to trunk from a vendor branch as the possible parent of a branch whose nominal source was on the vendor branch (a limitation that has come up elsewhere in this thread).

Michael
[1] http://cvs2svn.tigris.org/servlets/ReadMsg?list=dev&msgNo=1441
Previous: Simon 'corecode' SchubertNext: Simon 'corecode' Schubert
Message 19 of 40 in “cvs2svn conversion directly to git ready for experimentation”
  1. Michael HaggertyAug 1, 2007
  2. Johannes SchindelinAug 1, 2007
  3. Jakub NarebskiAug 1, 2007
  4. Michael HaggertyAug 2, 2007
  5. Jon SmirlAug 2, 2007
  6. Steffen ProhaskaAug 2, 2007
  7. Michael HaggertyAug 2, 2007
  8. Marko MacekAug 2, 2007
  9. Jon SmirlAug 2, 2007
  10. Oswald BuddenhagenAug 5, 2007
  11. Simon 'corecode' SchubertAug 2, 2007
  12. Steffen ProhaskaAug 2, 2007
  13. Simon 'corecode' SchubertAug 2, 2007
  14. Robin RosenbergAug 2, 2007
  15. Lübbe OnkenAug 2, 2007
  16. Lübbe OnkenAug 2, 2007
  17. Steffen ProhaskaAug 2, 2007
  18. Simon 'corecode' SchubertAug 2, 2007
  19. Michael HaggertyAug 2, 2007
  20. Simon 'corecode' SchubertAug 3, 2007
  21. Steffen ProhaskaAug 4, 2007
  22. Shawn O. PearceAug 3, 2007
  23. Michael HaggertyAug 2, 2007
  24. Linus TorvaldsAug 2, 2007
  25. Michael HaggertyAug 2, 2007
  26. Shawn O. PearceAug 3, 2007
  27. Jon SmirlAug 2, 2007
  28. Michael HaggertyAug 2, 2007
  29. Martin LanghoffAug 2, 2007
  30. Johannes SchindelinAug 3, 2007
  31. Steffen ProhaskaAug 3, 2007
  32. Steffen ProhaskaAug 3, 2007
  33. Michael HaggertyAug 3, 2007
  34. Patwardhan, RajeshAug 3, 2007
  35. Jon SmirlAug 3, 2007
  36. Patwardhan, RajeshAug 3, 2007
  37. Michael HaggertyAug 3, 2007
  38. Jon SmirlAug 3, 2007
  39. Jon SmirlAug 3, 2007
  40. Lübbe OnkenAug 2, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.