Re: Different svn-id URLs in history
- From
- Knut Eldhuset <knut@3d-radar.com>
- Date
- Oct 8, 2008, 09:20 UTC
- Message-ID
- <48EC7B52.4000100@3d-radar.com>
- In-Reply-To
- <48EC7022.7030707@drmicha.warpmail.net>
Michael J Gruber wrote:
Show 30 quoted lines
> Knut Eldhuset venit, vidit, dixit 08.10.2008 08:34: >> Michael J Gruber wrote: >>> Knut Eldhuset venit, vidit, dixit 07.10.2008 12:58: >>>> Hi, >>>> >>>> After cloning my svn repository, I notice that the svn-id URL is >>>> different when going back in history: >>>> >>>> git-svn-id: https://server/trunk@300 >>>> >>>> vs >>>> >>>> git-svn-id: https://server/trunk/some_folder/project/src@250 >>>> >>> I take this is as an invitation for guesswork (given the amount of >>> details)... >> Sorry about that... I'm confused. >>> You probably have commits which don't follow your usual svn repo layout >>> (trunk/some_folder/project/src) but commit to trunk/ directly. The output of >>> >>> svn log -v -r300 https://server/trunk@300 >>> svn log -v -r250 https://server/trunk/some_folder/project/src@250 >>> >>> should give some clues. >>> >> Svn log shows that the same path has been modified in both cases. I see > > Does "same path" mean: > - same relative to the above paths or > - same absolute path?
Both say "/trunk/some_folder/project/src/some_file".
Show 21 quoted lines
> >> something strange in git, though. Our svn repository has about 6500 >> commits, but git shows over 10.000. Further investigation shows that a >> lot of svn commits have two entries in git. Some branches off of trunk >> do not start at r1, but off of a duplicate rNNNN. Could this be due to >> our unhealthy practice of creating branches off of subtrees in svn? By >> this I mean create a branch off of >> https://server/trunk/some_folder/project/src instead of >> https://server/trunk. If so, what can be done to fix this? >> >> As a sidenote, during git svn clone, I noticed that each time a new >> branch or tag was discovered, the "scanning" started back at r1. Is this >> normal? I would think the history before the branch was already >> imported. Of course, this could maybe be due to the bad branching >> practice described above. > > svn is typically "abused" in the sense that one svn repo is used for > separate projects (your subtrees). git-svn can deal with non-standard > repo layouts. > > I assume you can't share the svn repo publically, can you?
Sorry, no.
> So, in order to help you, we would need to know > > - the layout of your svn repo: where are trunk, branches and tags, how > did you create branches and tags in svn, are "projects" entirely separate
https://server/trunk https://server/branches https://server/tags
We really only have one "project" source tree at https://server/trunk/some_folder/project/src
However, once the sources were at https://server/trunk/some_folder/project/old_source
Therefore we have the following:
$ svn log -v -r4871 https://server/
------------------------------------------------------------------------
r4871 | nn | 2007-09-25 13:36:25 +0200 (Tue, 25 Sep 2007) | 3 lines
Changed paths:
M /trunk/project
D /trunk/project/old_source/some_file
A /trunk/project/src/client/some_file (from
/trunk/project/old_source/some_file:4795)commit-message ------------------------------------------------------------------------
$ svn log -v -r4869 https://server/
------------------------------------------------------------------------
r4869 | nn | 2007-09-25 13:14:34 +0200 (Tue, 25 Sep 2007) | 3 lines
Changed paths:
M /trunk/project
A /trunk/project/src
A /trunk/project/src/clientcommit-message
------------------------------------------------------------------------
$ svn log -v -r4868 https://server/
------------------------------------------------------------------------
r4868 | nn | 2007-09-25 13:14:28 +0200 (Tue, 25 Sep 2007) | 3 lines
Changed paths:
M /trunk/projectcommit-message
------------------------------------------------------------------------
$ svn log -v -r4867 https://server/
------------------------------------------------------------------------
r4867 | nn | 2007-09-25 12:04:58 +0200 (Tue, 25 Sep 2007) | 3 lines
Changed paths:
M /trunk/project
A /trunk/project/some_filecommit-message ------------------------------------------------------------------------
r4868 appears twice in git. One commit is on master/trunk and has parent and child, while the other is on a branch and has no parent.
> - your incarnation of git-svn >
# git --version git version 1.6.0.2
Regards, Knut