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

Re: Getting correct tree layout when importing svn repo into git

From
MKMichael Kerrisk <mtk.manpages@googlemail.com>
Date
Sep 17, 2008, 12:53 UTC
Message-ID
<cfd18e0f0809170553j4b7d60c4gc9942458c2d93bc1@mail.gmail.com>
In-Reply-To
<20080917105620.GA13144@atjola.homenet>
Björn,
On Wed, Sep 17, 2008 at 3:56 AM, Björn Steinbrink <B.Steinbrink@gmx.de> wrote:
Show 51 quoted lines
> On 2008.09.17 03:28:46 -0700, Michael Kerrisk wrote:
>> Hi Andreas,
>>
>> On Tue, Sep 16, 2008 at 11:56 PM, Andreas Ericsson <ae@op5.se> wrote:
>> > Michael Kerrisk wrote:
>> >>
>> >> Hi Dimitry,
>> >>
>> >> On Tue, Sep 16, 2008 at 6:18 PM, Dmitry Potapov <dpotapov@gmail.com>
>> >> wrote:
>> >>>
>> >>> On Wed, Sep 17, 2008 at 01:40:36AM +0200, Michael Kerrisk wrote:
>> >>>>
>> >>>> $ git svn init file:///home/mtk/man-pages-rep/ -t tags -T trunk -b
>> >>>> branches
>> >>>>
>> >>>> takes about half an hour to run, the other command (which I already
>> >>>> started yesterday) seems to be taking (far) more than a day!
>> >>>
>> >>> What version of Git do you use?
>> >>
>> >> 1.5.4.5, on Linux.
>> >>
>> >
>> > An upgrade would do you good.
>>
>> But, is it going to make this much difference to the run time?  By
>> now, the import using
>
> It should.
>
>> $ git svn init file:///home/mtk/man-pages-rep/ -t tags -T
>> trunk/man-pages -b branches
>>
>> has been running for over 2 days (and I still don't know if it will
>> give the layout I want), and seems to be slowing down exponentially as
>> it gets further along in the import process, so at this rate it looks
>> like it would take several more days to complete, whereas
>>
>> $ git svn init file:///home/mtk/man-pages-rep/ -t tags -T trunk -b branches
>>
>> which doesn't give the layout I want, takes less than an hour.  We're
>> talking about a factor of at least 100 x in the speed difference for
>> the two imports.
>
> I guess your old import doesn't see any relations between the trunk and
> the tags/branches, right? Then the huge increase in runtime would be, at
> least in part, explained by git-svn searching for ancestry. That you see
> those tags/1.2.3@123 things also means that the 1.2.3 tags got deleted
> and recreated, or at least git-svn thinks so. Maybe the ancestry
> detection goes nuts, hard to tell.
The above sounds very plausible as an explanation of what I'm seeing.
> Is that svn repo available anywhere?

It's local. If someone felt the need to look at it to see if there is something that could be improved in git (and maybe already is by the current release), then I could put a copy somewhere.

Anyway, it looks like I have a fix that works from someone else in the thread -- see my reply there.

Thanks!
Michael
-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
Previous: Björn SteinbrinkNext: Michael J Gruber
Message 10 of 17 in “Getting correct tree layout when importing svn repo into git”
  1. Michael KerriskSep 16, 2008
  2. Dmitry PotapovSep 16, 2008
  3. Michael KerriskSep 16, 2008
  4. Dmitry PotapovSep 17, 2008
  5. Michael KerriskSep 17, 2008
  6. Andreas EricssonSep 17, 2008
  7. Michael KerriskSep 17, 2008
  8. Michael GebetsroitherSep 17, 2008
  9. Björn SteinbrinkSep 17, 2008
  10. Michael KerriskSep 17, 2008
  11. Michael J GruberSep 17, 2008
  12. Michael KerriskSep 17, 2008
  13. Björn SteinbrinkSep 17, 2008
  14. Michael KerriskSep 17, 2008
  15. Michael J GruberSep 17, 2008
  16. Michael KerriskSep 17, 2008
  17. Michael J GruberSep 17, 2008

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.