git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rogan Dawes <lists@dawes.za.net>
To: Andy Parkins <andyparkins@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: git-svn and googlecode.com?
Date: Tue, 05 Jun 2007 12:11:48 +0200	[thread overview]
Message-ID: <466536E4.9040804@dawes.za.net> (raw)
In-Reply-To: <200706051005.46603.andyparkins@gmail.com>

Andy Parkins wrote:
> On Tuesday 2007 June 05, Rogan Dawes wrote:
> 
>> (Original) svn checkout http://webgoat.googlecode.com/svn/trunk/ webgoat
>>
>> (Funny, the initial path component had a space in it?!)
> 
> I suspect that that is not the case.  The form of svn checkout is:
> 
>  svn checkout <url> <directory>
> 
> So your command is saying check out http://webgoat.googlecode.com/svn/trunk/ 
> to the local directory "webgoat".  That is to say - it doesn't have a space 
> in it and in fact is nothing to do with the URL at all.
> 

I guess I didn't explain it very well. The checked out project had a 
directory with a leading space in it:

0 $ ls -alp
total 0
drwxr-xr-x+  3 rdawes Domain Users 0 Jun  4 14:20  webgoat/
drwxr-xr-x+  4 rdawes Domain Users 0 Jun  4 14:20 ./
drwx------+ 28 rdawes ????????     0 Jun  5 09:43 ../
drwxr-xr-x+ 10 rdawes Domain Users 0 Jun  4 14:20 .git/

Note the leading space before webgoat/?

i.e. the initial path component actually does have a space in it.

>> 0 $ git-svn clone -T "trunk/ webgoat"
>> https://webgoat.googlecode.com/svn/trunk/
>> Initialized empty Git repository in .git/
>> Using higher level of URL: https://webgoat.googlecode.com/svn/trunk =>
>> https://webgoat.googlecode.com/svn
>> W: Ignoring error from SVN, path probably does not exist: (175002): RA
>> layer request failed: REPORT request failed on '/svn/!svn/bc/100':
>> REPORT of '/svn/!svn/bc/100': 200 OK (https://webgoat.googlecode.com)
>> Path 'trunk/trunk/ webgoat' was probably deleted:
> 
> ... which explains this error because there is no path "trunk/ webgoat".

Not so, see below.

>> However, the following command line does seem to work:
>>
>> git-svn clone -T "trunk/ webgoat" https://webgoat.googlecode.com/svn/
> 
> Oh dear; I'm surprised it worked as well as it did.  I just ran this command, 
> which seemed to work well:
> 
>  $ git-svn clone -T trunk http://webgoat.googlecode.com/svn/ webgoat-local
> 
> This clones webgoat.googlecode.com/svn to the local directory webgoat-local; 
> you can change "webgoat-local" to anything you want, it's just naming the 
> directory on your own computer.

Sure. But then you cd into webgoat-local/, do an "ls -l", and you'll see 
exactly the same thing I showed above.

I'm still running your command above, but I'm seeing

W: -empty_dir: trunk/ webgoat/main/project/JavaSource/org

Note the space       ^

> If you're the maintainer then perhaps you will want to change "http" 
> to "https" as well.
> 
>> Note that I manually removed the "trunk" component from the URL. This
>> suggests that there is something missing in the automatic "Using higher
>> level" detection code.
> 
> I think there is no bug; it's simply a misunderstanding.  git-svn working 
> wonderfully for me.

Um, I think that you did exactly what I said I did, namely removing the 
"trunk" component from the URL. Contrast:

Yours:
$ git-svn clone -T trunk http://webgoat.googlecode.com/svn/ \
     webgoat-local

Mine (original):
$ git-svn clone -T "trunk/ webgoat" \
     https://webgoat.googlecode.com/svn/trunk/
                                        ^^^^^
Mine (eventual):

$ git-svn clone -T "trunk/ webgoat" https://webgoat.googlecode.com/svn/

I'm sure there WAS a misunderstanding. It was me not understanding how 
to translate an SVN command line to a proper git command line, 
accounting for trunks, etc. That was one of the reasons I made the post, 
to clear it up, and to make sure that anyone searching for hints on how 
to use git to clone google code projects will find something, since I 
didn't.

So, it seems that the rule for googlecode is something like:

If the published command line is:

  svn checkout https://<project>.googlecode.com/svn/trunk/ <project>

You can clone this project using git-svn with the following command:

  git-svn clone -T trunk https://<project>.googlecode.com/svn/ <localdir>

If this results in too many levels of directories in the checked out 
project (e.g. "/workspace/webgoat/ webgoat/"), take the extra directory 
component and add it to the -T parameter (e.g. "-T 'trunk/ webgoat'")

Hopefully this helps the next person.

Thanks for your response.

Rogan

      reply	other threads:[~2007-06-05 10:11 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-05  8:11 git-svn and googlecode.com? Rogan Dawes
2007-06-05  9:05 ` Andy Parkins
2007-06-05 10:11   ` Rogan Dawes [this message]

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=466536E4.9040804@dawes.za.net \
    --to=lists@dawes.za.net \
    --cc=andyparkins@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).