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

Re: git-svn breakage on repository rename

From
EWEric Wong <normalperson@yhbt.net>
Date
Dec 5, 2009, 22:22 UTC
Message-ID
<20091205222251.GA2120@dcvr.yhbt.net>
In-Reply-To
<4B197078.6050203@cosent.net>
Guido Stevens <guido.stevens@cosent.net> wrote:
Show 25 quoted lines
> Hi Eric e.a.,
>
> I have a weird git-svn corner case that might interest you (or not at  
> all). I'd appreciate any help or hints for moving beyond this problem.
>
> I'm using git-svn to do a full commit history analysis of the Zope +  
> Plone CMS code bases as part of a research project with the University  
> of Nottingham into open source knowledge dynamics.
>
> One of the repositories I'm importing breaks with a "Checksum mismatch",  
> indicating a corruption. However, this error message occurs exactly at  
> the point where the repository was renamed: from "Products.CMFPlone" to  
> "Plone" (22715->22716). (Yes, it's the Plone core itself that resists  
> analysis :-()
>
> The git-svn url for the later commits would be:
>   http://svn-mirror.plone.org/svn/plone/Plone/trunk
>
> Whereas an older part of the code base lives at:
>   http://svn-mirror.plone.org/svn/plone/Products.CMFPlone/trunk
>
> Funny thing is, git-svn detects this rename upfront but then breaks
> anyway. Which raises the questions:
>
> - is this breakage caused by the rename?
Hi Guido,

Yes. By default, git svn without --stdlayout does not attempt to determine a repository root so parent following can be done. On the other hand, Plone does appear to use a standard SVN layout.

> - or does git-svn handle the rename, and there is an actual corruption?
It should, let me know if the example I give below doesn't work
It looks like a big repo and they're worried about bandwidth:
"Do not make a checkout of the entire repository! This is likely to
  get you blacklisted."
(ref: http://dev.plone.org/plone/wiki/RepoInfo)
Show 5 quoted lines
> - is there any way I can work around this and get a valid or semi-valid
> git history for this project?
>
> I don't mind missing a few commits, since I'm not doing code development
> on this repository, only statistical analysis.
I would mind very much if git svn missed commits :>
Show 12 quoted lines
> Solving this would also be helpful for anyone who wants to work on Plone  
> development through git rather than through raw svn.
>
> :*CU#
>
> ----------------------------------------------------
> To reconstruct this error:
> ----------------------------------------------------
>
> $ git svn init https://svn-mirror.plone.org/svn/plone/Plone/trunk Plone
> $ cd Plone
> $ git svn fetch

Since Plone appears to use a standard trunk/branches/tags layout recommended by SVN developers, can you try this instead?:

  git svn clone -s http://svn-mirror.plone.org/svn/plone/Plone
If you don't care about branches/tags at all, you can also try
  git svn clone --no-follow-parent \
    https://svn-mirror.plone.org/svn/plone/Plone/trunk Plone

Also, in the future it'd be nice to know which version of git svn you're using since bugs may be fixed in a newer version. Thanks!

-- 
Eric Wong
Previous: Guido StevensNext: Guido Stevens
Message 2 of 4 in “git-svn breakage on repository rename”
  1. Guido StevensDec 4, 2009
  2. Eric WongDec 5, 2009
  3. Guido StevensDec 6, 2009
  4. Jérôme PetazzoniDec 7, 2009

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.