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

Re: GSOC remote-svn: branch detection

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Aug 3, 2012, 18:17 UTC
Message-ID
<20120803181728.GA21745@copier>
In-Reply-To
<12682331.q6WHVv9EKU@flomedio>
Hi,
Florian Achleitner wrote:
Show 11 quoted lines
> Two approaches:
> 1. Import linearly and split later:
> One idea is to import from svn linearly, i.e. one revision on top of it's 
> predecessor, like now, and detect and split branches afterwards. The svn 
> metadata is stored in git notes, so the required information would be 
> available.
> + allows recovery, because the linear history is always here.
> + it's easier to peek around in the git history than in the svn dump during 
> import to do the branch detection.
> - requires creation of new commits in the branch detection stage.
> - this results in double commits and awkward history, linear vs. branched.
I don't think you've captured the real pros and cons here.
+ Divides responsibility between a component that fetches and a component
that splits branches, making for easier debugging, independent refactoring
of components, reuse in other contexts (e.g., splitting out branches in
other similar VCSen, etc)
- Divides responsibility between a component that fetches and a component
that splits branches, which is tricky because it involves designing an
interface between them and documenting it.  And maybe a different
interface would be better.

There are also performance and history-clarity ramifications as you've mentioned, but they do not seem as important.

Hope that helps, Jonathan

> 2. Split during import:
Previous: Florian AchleitnerNext: Dmitry Ivankov
Message 2 of 5 in “GSOC remote-svn: branch detection”
  1. Florian AchleitnerAug 3, 2012
  2. Jonathan NiederAug 3, 2012
  3. Dmitry IvankovAug 4, 2012
  4. Ramkumar RamachandraAug 4, 2012
  5. Florian AchleitnerAug 7, 2012

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.