threads / discuss / 23679

Migrating from subversion via git svn contains log entry, but not the file change in the branch.

Subject: Migrating from subversion via git svn contains log entry, but not the file change in the branch.

## tl;dr

7 messages between May 3, 2010 and May 4, 2010.

replies: 6people: 3as markdown or json

magnuspalmer· May 3, 2010, 12:25 UTC · lore

I've been working almost fulltime for two weeks migrating a subversion repository to git. Most repos go fine, but some doesn't and I'm running out of options.

Been trying to find posts regarding this and tried what I've found.

The subversion repo contains subrepos. Layout is this: tags branches <trunk is in root dir, contains only a maven pom.xml> subrepo-a(with standard layout: trunk, tags, branches) subrepo-n

Team is doing ongoing development in currently four branches (develop, release-product-a-1.1, release-product-b-1.0, trunk). I'll deal with that later.

What happends is that I get the svn log message, but the file is not the correct one, or the file is completely missing suddenly. git checkout develop HEAD is now at 5269d17... increased version to 1.2.0-SNAPSHOT.

The change in the file is not there, the old version number in the pom.xml. I compare this with the one checkout out via svn.

git svn init --trunk='' --tags=tags/*/* --branches=branches --prefix=svn/ --ignore-paths="branches|tags|subrepo-a|subrepo-b|" https://example.com/svn/theproject/client

Then I've tried: git fetch git fetch --no-follow-parent turn on/off brokensymlink workaround git config svn.brokenSymlinkWorkaround false git config svn.brokenSymlinkWorkaround true

Also started at different revisions -r XYZ:HEAD

For one of the cases (with svn.brokenSymlinkWorkaround=false) I get:
Found possible branch point:
https://example.com/svn/theproject/client/branches/develop/pom.xml =>
https://example.com/svn/theproject/client/branches/release-1.1.0, 10623
Initializing parent: release-1.1.0@10623
W: Ignoring error from SVN, path probably does not exist: (160013):
Filesystem has no item: File not found: revision 6973, path
'/theproject/client/branches/develop/pom.xml'

And I end up with a: remotes/release-1.1.0 remotes/release-1.1.0@10623

Any ideas of how to proceed? I am getting short out of ideas.

/Magnus Palmér
/Magnus Palmér
-- 
View this message in context: http://git.661346.n2.nabble.com/Migrating-from-subversion-via-git-svn-contains-log-entry-but-not-the-file-change-in-the-branch-tp4997493p4997493.html
Sent from the git mailing list archive at Nabble.com.
Michael J Gruber· May 3, 2010, 12:38 UTC · re: magnuspalmer · lore

Re: Migrating from subversion via git svn contains log entry, but not the file change in the branch.

magnuspalmer venit, vidit, dixit 03.05.2010 14:25:
Show 28 quoted lines
> 
> I've been working almost fulltime for two weeks migrating a subversion
> repository to git.
> Most repos go fine, but some doesn't and I'm running out of options.
> 
> Been trying to find posts regarding this and tried what I've found.
> 
> The subversion repo contains subrepos.
> Layout is this:
> tags
> branches
> <trunk is in root dir, contains only a maven pom.xml>
> subrepo-a(with standard layout: trunk, tags, branches)
> subrepo-n
> 
> Team is doing ongoing development in currently four branches (develop,
> release-product-a-1.1, release-product-b-1.0, trunk). I'll deal with that
> later.
> 
> What happends is that I get the svn log message, but the file is not the
> correct one, or the file is completely missing suddenly.
> git checkout develop
> HEAD is now at 5269d17... increased version to 1.2.0-SNAPSHOT.
> 
> The change in the file is not there, the old version number in the pom.xml.
> I compare this with the one checkout out via svn.
> 
> git svn init --trunk='' --tags=tags/*/* --branches=branches --prefix=svn/

What is the reason for the tags/*/*? I would expect a simple --tags=tags here.

Show 6 quoted lines
> --ignore-paths="branches|tags|subrepo-a|subrepo-b|"
> https://example.com/svn/theproject/client
> 
> Then I've tried:
> git fetch
> git fetch --no-follow-parent
git svn that, I assume.
> turn on/off brokensymlink workaround
> git config svn.brokenSymlinkWorkaround false
> git config svn.brokenSymlinkWorkaround true
Do you use symlinks?
Show 18 quoted lines
> Also started at different revisions
> -r XYZ:HEAD
> 
> For one of the cases (with svn.brokenSymlinkWorkaround=false) I get:
> Found possible branch point:
> https://example.com/svn/theproject/client/branches/develop/pom.xml =>
> https://example.com/svn/theproject/client/branches/release-1.1.0, 10623
> Initializing parent: release-1.1.0@10623
> W: Ignoring error from SVN, path probably does not exist: (160013):
> Filesystem has no item: File not found: revision 6973, path
> '/theproject/client/branches/develop/pom.xml'
> 
> And I end up with a:
> remotes/release-1.1.0
> remotes/release-1.1.0@10623
> 
> Any ideas of how to proceed?
> I am getting short out of ideas.
I assume you can't make that repo accessible, can you?
Michael
Dmitrijs Ledkovs· May 3, 2010, 12:52 UTC · re: Michael J Gruber · lore

Re: Migrating from subversion via git svn contains log entry, but not the file change in the branch.

On 3 May 2010 13:38, Michael J Gruber <git@drmicha.warpmail.net> wrote:
Show 30 quoted lines
> magnuspalmer venit, vidit, dixit 03.05.2010 14:25:
>>
>> I've been working almost fulltime for two weeks migrating a subversion
>> repository to git.
>> Most repos go fine, but some doesn't and I'm running out of options.
>>
>> Been trying to find posts regarding this and tried what I've found.
>>
>> The subversion repo contains subrepos.
>> Layout is this:
>> tags
>> branches
>> <trunk is in root dir, contains only a maven pom.xml>
>> subrepo-a(with standard layout: trunk, tags, branches)
>> subrepo-n
>>
>> Team is doing ongoing development in currently four branches (develop,
>> release-product-a-1.1, release-product-b-1.0, trunk). I'll deal with that
>> later.
>>
>> What happends is that I get the svn log message, but the file is not the
>> correct one, or the file is completely missing suddenly.
>> git checkout develop
>> HEAD is now at 5269d17... increased version to 1.2.0-SNAPSHOT.
>>
>> The change in the file is not there, the old version number in the pom.xml.
>> I compare this with the one checkout out via svn.
>>
>> git svn init --trunk='' --tags=tags/*/* --branches=branches --prefix=svn/
>

I've actually just edited .git/config and then did git svn init URL. Found this easier for complex layouts, cause then you can control everything that is happening.

[svn-remote "svn"]
        url = http://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64
        fetch = trunk:refs/remotes/trunk
        branches = {experimental,web}:refs/remotes/*
        tags = branches/releases/*:refs/remotes/releases/*
        fetch = :refs/remotes/git-svn
magnuspalmer· May 4, 2010, 15:20 UTC · re: Dmitrijs Ledkovs · lore

Re: Migrating from subversion via git svn contains log entry, but not the file change in the branch.

Dmitrijs Ledkovs-2 wrote:
Show 14 quoted lines
> 
> 
> I've actually just edited .git/config and then did git svn init URL.
> Found this easier for complex layouts, cause then you can control
> everything that is happening.
> 
> [svn-remote "svn"]
>         url = http://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64
>         fetch = trunk:refs/remotes/trunk
>         branches = {experimental,web}:refs/remotes/*
>         tags = branches/releases/*:refs/remotes/releases/*
>         fetch = :refs/remotes/git-svn
> 
> 
Tried this, produced different result though, but not a successful one.
-- 
View this message in context: http://git.661346.n2.nabble.com/Migrating-from-subversion-via-git-svn-contains-log-entry-but-not-the-file-change-in-the-branch-tp4997493p5003868.html
Sent from the git mailing list archive at Nabble.com.
magnuspalmer· May 3, 2010, 12:53 UTC · re: Michael J Gruber · lore

Re: Migrating from subversion via git svn contains log entry, but not the file change in the branch.

Answer to list failed, so typing it in forum instead.
Michael J Gruber-2 wrote:
Show 91 quoted lines
> 
> magnuspalmer venit, vidit, dixit 03.05.2010 14:25:
>> 
>> I've been working almost fulltime for two weeks migrating a subversion
>> repository to git.
>> Most repos go fine, but some doesn't and I'm running out of options.
>> 
>> Been trying to find posts regarding this and tried what I've found.
>> 
>> The subversion repo contains subrepos.
>> Layout is this:
>> tags
>> branches
>> <trunk is in root dir, contains only a maven pom.xml>
>> subrepo-a(with standard layout: trunk, tags, branches)
>> subrepo-n
>> 
>> Team is doing ongoing development in currently four branches (develop,
>> release-product-a-1.1, release-product-b-1.0, trunk). I'll deal with that
>> later.
>> 
>> What happends is that I get the svn log message, but the file is not the
>> correct one, or the file is completely missing suddenly.
>> git checkout develop
>> HEAD is now at 5269d17... increased version to 1.2.0-SNAPSHOT.
>> 
>> The change in the file is not there, the old version number in the
>> pom.xml.
>> I compare this with the one checkout out via svn.
>> 
>> git svn init --trunk='' --tags=tags/*/* --branches=branches --prefix=svn/
> 
> What is the reason for the tags/*/*? I would expect a simple --tags=tags
> here.
> 
>>> they have for some reason tags/internal-delivery and tags/delivery
> 
>> --ignore-paths="branches|tags|subrepo-a|subrepo-b|"
>> https://example.com/svn/theproject/client
>> 
>> Then I've tried:
>> git fetch
>> git fetch --no-follow-parent
> 
> git svn that, I assume.
> 
>>> Yes, it is git svn of course. 
> 
>> turn on/off brokensymlink workaround
>> git config svn.brokenSymlinkWorkaround false
>> git config svn.brokenSymlinkWorkaround true
> 
> Do you use symlinks?
> 
>>> Don't know, I am off site the current team that will move to this
>>> location.
>>> Since they use windows workstations I doubt it.
> 
>> Also started at different revisions
>> -r XYZ:HEAD
>> 
>> For one of the cases (with svn.brokenSymlinkWorkaround=false) I get:
>> Found possible branch point:
>> https://example.com/svn/theproject/client/branches/develop/pom.xml =>
>> https://example.com/svn/theproject/client/branches/release-1.1.0, 10623
>> Initializing parent: release-1.1.0@10623
>> W: Ignoring error from SVN, path probably does not exist: (160013):
>> Filesystem has no item: File not found: revision 6973, path
>> '/theproject/client/branches/develop/pom.xml'
>> 
>> And I end up with a:
>> remotes/release-1.1.0
>> remotes/release-1.1.0@10623
>> 
>> Any ideas of how to proceed?
>> I am getting short out of ideas.
> 
> I assume you can't make that repo accessible, can you?
> 
>>> No, unfortunately :(
>>> It was hard getting access myself.
>>> It is a team of consultants moving from offsite contracting to inhouse
>>> development. Same team though.
> 
> Michael
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
-- 
View this message in context: http://git.661346.n2.nabble.com/Migrating-from-subversion-via-git-svn-contains-log-entry-but-not-the-file-change-in-the-branch-tp4997493p4997630.html
Sent from the git mailing list archive at Nabble.com.
magnuspalmer· May 4, 2010, 15:32 UTC · re: Michael J Gruber · lore

Re: Migrating from subversion via git svn contains log entry, but not the file change in the branch.

Ok, I have a local copy of the Subversion repo not using svnsync to speed up testing.

I also upgraded git and git-svn to 1.7.1 Svn is at 1.6.5

I do the git svn init as before, but with the file://<path_to_local_svn_repo> It is saying using higher level url, if that does anything?

I asume that this error message is what is causing my problem?
r10623 = 7191e343c78eb0705173c47b1f914da8b1c6d6f5 (refs/remotes/svn/trunk)
Found possible branch point:
file:///home/user/svn-repo/services/project/clients/branches/develop/pom.xml
=>
file:///home/user/svn-repo/services/project/clients/branches/release-1.1.0,
10623
Initializing parent: refs/remotes/svn/release-1.1.0@10623
W: Ignoring error from SVN, path probably does not exist: (160013):
Filesystem has no item: File not found: revision 101, path
'/services/clients/branches/develop/pom.xml'
W: Do not be alarmed at the above message git-svn is just searching
aggressively for old history.
This may take a while on large repositories
r9529 = f4b81a737c453f18ab613cb216f26671e24b5d6e
(refs/remotes/svn/release-1.1.0@10623)
r9812 = 9359c6b9aac2c753e484d3a6ba26c857f578ad15
(refs/remotes/svn/release-1.1.0@10623)
Found branch parent: (refs/remotes/svn/release-1.1.0)
9359c6b9aac2c753e484d3a6ba26c857f578ad15
Following parent with do_switch
Invalid filesystem path syntax: Cannot replace a directory from within at
/usr/lib/git-core/git-svn line 5097

Btw, why do I get a @<revision> branch here? remotes/svn/release-1.1.0 remotes/svn/release-1.1.0@10623

git checkout -b develop svn/develop HEAD is now at 5012366... increased version to 1.2.0-SNAPSHOT

Version in file is not 1.2.0-SNAPSHOT as the log says and as it is in Subversion.

-- 
View this message in context: http://git.661346.n2.nabble.com/Migrating-from-subversion-via-git-svn-contains-log-entry-but-not-the-file-change-in-the-branch-tp4997493p5003911.html
Sent from the git mailing list archive at Nabble.com.
magnuspalmer· May 4, 2010, 15:57 UTC · re: magnuspalmer · lore

Re: Migrating from subversion via git svn contains log entry, but not the file change in the branch.

Sorry for spamming, got it working with the following changes:

It turned out that removing the ignore paths entry for branches and tags did it the trick.

Previously: git svn init -s --trunk='' --tags=tags/*/* --branches=branches --prefix=svn/ --ignore-paths="branches|tags|subrepo-a|subrepo-b|" <repo_url>

"Working" git svn init -s --trunk='' --tags=tags/*/* --branches=branches --prefix=svn/ --ignore-paths="subrepo-a|subrepo-b|" <repo_url>

I also had to change from --trunk='' to explicit
--trunk='file:///home/repo/svn-repo/services/project/clients' or else it
also created the branches and tags dirs.
 
-- 
View this message in context: http://git.661346.n2.nabble.com/Migrating-from-subversion-via-git-svn-contains-log-entry-but-not-the-file-change-in-the-branch-tp4997493p5004035.html
Sent from the git mailing list archive at Nabble.com.

← back to recent threads