public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Knut Eldhuset <knut@3d-radar•com>
To: "git@vger•kernel.org >> Git Mailing List" <git@vger•kernel.org>
Cc: Michael J Gruber <git@drmicha•warpmail.net>
Subject: Re: Different svn-id URLs in history
Date: Fri, 10 Oct 2008 10:56:32 +0200	[thread overview]
Message-ID: <48EF18C0.3050200@3d-radar.com> (raw)
In-Reply-To: <48EE132E.1040407@drmicha.warpmail.net>

Michael J Gruber wrote:
> Knut Eldhuset venit, vidit, dixit 08.10.2008 11:20:
>> Michael J Gruber wrote:
>>> Knut Eldhuset venit, vidit, dixit 08.10.2008 08:34:

<snip>

>>> 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
> 
> That may be the source of the trouble. In fact, the log below indicates
> that it is more like the following two paths:
> 
> https://server/trunk/project/old_source
> https://server/trunk/project/src/client
> 

I think my description is correct, but these particular log messages may 
not be the best examples. We did have files and folders in "old_source" 
that moved to "src".

>> 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
>>
> 
> That one is funny. A modified directory but no paths modified
> underneath. Was this a propset?
> 

These give identical output:

svn log -v -r4868 --xml https://server

and

svn log -v -r4868 --with-all-revprops --xml https://server

I don't understand what happened there. It was a commit made with svk, 
so maybe that had something to do with it.

>> ------------------------------------------------------------------------
>>
>> $ 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
>> ------------------------------------------------------------------------
> 
> Maybe you're trying too hard to disguise things. Are you really adding
> some_file right under project here and under project/src/client in r4871?
> 

No, those were different files... I'm sorry I can't share the repo publicly.

>> 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
> 
> I actually meant incantation, I guess I should brush up on my little
> latin, uhm ;)
> 
> So, did you use something like
> 
> git svn init -s https://server/
> 
> or
> 
> git svn init -T trunk/project/src/client -t 'tags/*/project/src/client'
> -b 'branches/*/project/src/client' https://server/
> 

I used

git svn clone -s https://server/

initially. Then I tried

git svn clone -T trunk/project/src -r tags -b branches https://server/

which gave better results. Then I settled on using "-r4869:HEAD".

> My suggestion would to use two svn sections (option "-R") with different
> configs for different repo structures, and to fetch the first one with
> "-r1:4866" and the second one with "-r4871:HEAD". Reorganising the svn
> repo layout can confuse git-svn quite a bit (and understandably so).
> Using different configs for different "epochs" helps. grafts are your
> friend when it comes to connecting the two.
> 
> Michael

Good suggestion. I didn't realize one could do it that way.

Regards,
Knut

  reply	other threads:[~2008-10-10  8:57 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-07 10:58 Different svn-id URLs in history Knut Eldhuset
2008-10-07 15:01 ` Michael J Gruber
2008-10-08  6:34   ` Knut Eldhuset
2008-10-08  8:32     ` Michael J Gruber
2008-10-08  9:20       ` Knut Eldhuset
2008-10-08  9:23         ` Knut Eldhuset
2008-10-09 14:20         ` Michael J Gruber
2008-10-10  8:56           ` Knut Eldhuset [this message]
2008-10-09  6:16       ` Knut Eldhuset

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48EF18C0.3050200@3d-radar.com \
    --to=knut@3d-radar$(echo .)com \
    --cc=git@drmicha$(echo .)warpmail.net \
    --cc=git@vger$(echo .)kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox