threads / discuss / 21214

Filesystem has no item: Working copy path [...] does not exist in repository at /usr/bin/git-svn line 3856

Subject: Filesystem has no item: Working copy path [...] does not exist in repository at /usr/bin/git-svn line 3856

## tl;dr

4 messages between Oct 12, 2009 and Oct 12, 2009.

replies: 3people: 2as markdown or json

Daniele Segato· Oct 12, 2009, 15:48 UTC · lore

Hi, i'm trying to clone a public SVN repo (user = guest, password is empty/blank/not neeeded)

this was my steps:

$ git --version git version 1.5.6.5 $ mkdir plugins $ cd plugins $ git svn init http://svn.liferay.com/repos/public/plugins -T trunk -b branches # doesn't have tags $ git svn fetch [...] # it takes hours..... [...] r25355 = ee13a19e656e6f96b1ebb562b10ee7fa688921df (svn/trunk) Filesystem has no item: Working copy path 'plugins/branches/trunk' does not exist in repository at /usr/bin/git-svn line 3856

after that revision it give me that error... and then stops. if I issue again the git svn fetch it keep telling me the error and I can't complete the cloning.

I've edited my .git/config between git svn init and git svn fetch adding "svn" to the target branch and url name

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[svn-remote "svn"]
	url = http://svn.liferay.com/repos/public
	fetch = plugins/trunk:refs/remotes/svn/trunk
	branches = plugins/branches/*:refs/remotes/svn/*

you can use git svn fetch --revision 25255:HEAD

to make it take less time (hours anyway)...
Any help will be appreciated,

thanks, regards, Daniele

Eric Wong· Oct 12, 2009, 18:20 UTC · re: Daniele Segato · lore

Re: Filesystem has no item: Working copy path [...] does not exist in repository at /usr/bin/git-svn line 3856

Daniele Segato <daniele.bilug@gmail.com> wrote:
Show 8 quoted lines
> Hi,
> i'm trying to clone a public SVN repo (user = guest, password is
> empty/blank/not neeeded)
> 
> this was my steps:
> 
> $ git --version
> git version 1.5.6.5
Hi Daniele,

First I thought this was a problem fixed in 83c2fcff214fe89649fcd88e095d9961a36b53dd (git v1.6.2 or later), but then I tried running it just to make sure.

Show 16 quoted lines
> $ mkdir plugins
> $ cd plugins
> $ git svn init http://svn.liferay.com/repos/public/plugins -T trunk -b
> branches # doesn't have tags
> $ git svn fetch
> [...]
> # it takes hours.....
> [...]
> r25355 = ee13a19e656e6f96b1ebb562b10ee7fa688921df (svn/trunk)
> Filesystem has no item: Working copy path 'plugins/branches/trunk'
> does not exist in repository at /usr/bin/git-svn line 3856
> 
> 
> after that revision it give me that error... and then stops.
> if I issue again the git svn fetch it keep telling me the error and I
> can't complete the cloning.

This is a namespace conflict, the "trunk" ref is conflicting with a (what seems to be a miscreated) branch named "trunk". I anticipated this problem originally but figured it was rare/uncommon enough that I didn't want to burden users by prefixing all branches with something:

  ------------------------------------------------------------------------
  r25364 | michael.hashimoto | 2009-01-21 14:06:53 -0800 (Wed, 21 Jan 2009) | 1 line
  Changed paths:
     A /plugins/branches/trunk
  Created directory 'plugins/branches/trunk'.
  ------------------------------------------------------------------------
  r25365 | michael.hashimoto | 2009-01-21 14:07:15 -0800 (Wed, 21 Jan 2009) | 1 line
  Changed paths:
     D /plugins/branches/trunk
  Removed plugins/branches/trunk

Since it looks pretty obvious that "trunk" was miscreated here from the revision history, you can skip these two revisions in your import by recontinuing the clone with "git svn fetch -r25365:HEAD"

If you encounter this problem further in a non-workaroundable way, you can prefix the local branches refs:

Replace:
  [svn-remote "svn"]
    branches = plugins/branches/*:refs/remotes/svn/*
With:
  [svn-remote "svn"]
    branches = plugins/branches/*:refs/remotes/svn/branches/*

I didn't do this by default since I figured very few people would create a branch named "trunk" (and those who did, did it accidentally as it seems to be the case here).

Hope that helps.
-- 
Eric Wong
Daniele Segato· Oct 12, 2009, 21:26 UTC · re: Eric Wong · lore

Re: Filesystem has no item: Working copy path [...] does not exist in repository at /usr/bin/git-svn line 3856

Il giorno lun, 12/10/2009 alle 11.20 -0700, Eric Wong ha scritto:
> First I thought this was a problem fixed in
> 83c2fcff214fe89649fcd88e095d9961a36b53dd (git v1.6.2 or later),
> but then I tried running it just to make sure.
thank you for taking the time
Show 21 quoted lines
> This is a namespace conflict, the "trunk" ref is conflicting with a
> (what seems to be a miscreated) branch named "trunk".  I anticipated
> this problem originally but figured it was rare/uncommon enough that I
> didn't want to burden users by prefixing all branches with something:
> 
>   ------------------------------------------------------------------------
>   r25364 | michael.hashimoto | 2009-01-21 14:06:53 -0800 (Wed, 21 Jan 2009) | 1 line
>   Changed paths:
>      A /plugins/branches/trunk
> 
>   Created directory 'plugins/branches/trunk'.
>   ------------------------------------------------------------------------
>   r25365 | michael.hashimoto | 2009-01-21 14:07:15 -0800 (Wed, 21 Jan 2009) | 1 line
>   Changed paths:
>      D /plugins/branches/trunk
> 
>   Removed plugins/branches/trunk
> 
> Since it looks pretty obvious that "trunk" was miscreated here from the
> revision history, you can skip these two revisions in your import by
> recontinuing the clone with "git svn fetch -r25365:HEAD"

I thought it could be a problem like this but I asked before re-fetching all the repository (just to be sure)..

unfurtunately I already deleted all the .git directory so i'll have to start again...

Show 14 quoted lines
> Replace:
>   [svn-remote "svn"]
>     branches = plugins/branches/*:refs/remotes/svn/*
> 
> With:
> 
>   [svn-remote "svn"]
>     branches = plugins/branches/*:refs/remotes/svn/branches/*
> 
> I didn't do this by default since I figured very few people would create
> a branch named "trunk" (and those who did, did it accidentally as it
> seems to be the case here).
> 
> Hope that helps.
Yes it really help...
But I'll change it like this instead:
  [svn-remote "svn"]
    url = http://svn.liferay.com/repos/public
    fetch = plugins/trunk:refs/remotes/svn/master
    branches = plugins/branches/*:refs/remotes/svn/*

I think it will do as long as they didn't created some branch named "master" :)

In this case the repo was public, what should I do to debug some git-svn issue like that if I encounter a problem with a non-public repo? May be there is some debug flag I could enable? Or I had to guess/explore the svn tree?

thank you Eric

regards, Daniele

Eric Wong· Oct 12, 2009, 22:45 UTC · re: Daniele Segato · lore

Re: Filesystem has no item: Working copy path [...] does not exist in repository at /usr/bin/git-svn line 3856

Daniele Segato <daniele.bilug@gmail.com> wrote:
> In this case the repo was public, what should I do to debug some git-svn
> issue like that if I encounter a problem with a non-public repo?
> May be there is some debug flag I could enable? Or I had to
> guess/explore the svn tree?
I rely on the output of "svn log -v" extensively.

I'll also use strace, ltrace, tcpdump and/or put print statements (combined with Data::Dumper) in various places of git-svn. Unfortunately the git-svn code is quite ugly and I still haven't had the time or energy to clean it up myself :<

-- 
Eric Wong

← back to recent threads