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

Re: [Monotone-devel] cvs import

From
DCDaniel Carosone <dan@geek.com.au>
Date
Sep 13, 2006, 23:52 UTC
Message-ID
<20060913235227.GW29625@bcd.geek.com.au>
In-Reply-To
<20060913232139.GU29625@bcd.geek.com.au>
On Thu, Sep 14, 2006 at 09:21:39AM +1000, Daniel Carosone wrote:
Show 7 quoted lines
> > I have no particular idea on how to handle tags and branches here;
> > I've never actually wrapped my head around CVS's model for those :-).
> > I'm not seeing any obvious problem with handling them, though.
> 
> Tags could be modelled as another 'event' in the file graph, like a
> commit. If your frontier advances through both revisions and a 'tag
> this revision' event, the same sequencing as above would work.

Likewise, if we had "file branched" events in the file lifeline (based on the rcs id's), then we would be sure to always have a monotone revision that corresponded to the branching event, where we could attach the revisions in the branch.

Because we can't split tags, and can't split branch events, we will end up splitting file commits (down to individual commits per file) in order to arrive at the revisions we need for those.

Because tags and branches can be across subsets of the tree, we gain some scheduling flexibility about where in the reconstructed sequence they can come.

Many well-managed CVS repositories will use good practices, such as having a branch base tag. If they do, then they will help this algorithm produce correct results.

Once we have a branch with a base starting revision, we can pretty much treat it independently from there: make a whole new set of file lifelines along the RCS branches and a new frontier for it.

-- Dan.

Previous: Daniel CarosoneNext: Keith Packard
Message 29 of 38 in “Re: cvs import”
  1. Jon SmirlSep 13, 2006
  2. Martin LanghoffSep 13, 2006
  3. Markus SchiltknechtSep 13, 2006
  4. Oswald BuddenhagenSep 13, 2006
  5. Martin LanghoffSep 13, 2006
  6. Michael HaggertySep 14, 2006
  7. Jon SmirlSep 14, 2006
  8. Michael HaggertySep 14, 2006
  9. Martin LanghoffSep 14, 2006
  10. Michael HaggertySep 14, 2006
  11. Jon SmirlSep 14, 2006
  12. Martin LanghoffSep 14, 2006
  13. Markus SchiltknechtSep 13, 2006
  14. Jon SmirlSep 13, 2006
  15. Michael HaggertySep 14, 2006
  16. Shawn PearceSep 14, 2006
  17. Jakub NarebskiSep 14, 2006
  18. Shawn PearceSep 14, 2006
  19. Jon SmirlSep 14, 2006
  20. Michael HaggertySep 14, 2006
  21. Jakub NarebskiSep 14, 2006
  22. Jon SmirlSep 14, 2006
  23. Markus SchiltknechtSep 15, 2006
  24. Shawn PearceSep 16, 2006
  25. Oswald BuddenhagenSep 16, 2006
  26. Nathaniel SmithSep 16, 2006
  27. Nathaniel SmithSep 13, 2006
  28. Daniel CarosoneSep 13, 2006
  29. Daniel CarosoneSep 13, 2006
  30. Keith PackardSep 13, 2006
  31. Nathaniel SmithSep 14, 2006
  32. Jon SmirlSep 14, 2006
  33. Daniel CarosoneSep 14, 2006
  34. Shawn PearceSep 14, 2006
  35. Daniel CarosoneSep 14, 2006
  36. Petr BaudisSep 14, 2006
  37. Shawn PearceSep 14, 2006
  38. Shawn PearceSep 14, 2006

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.