Re: Different svn-id URLs in history

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Michael J Gruber wrote:
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".


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/client

 commit-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/project

 commit-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_file

 commit-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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux