Fwd: Problem using git svn clone
From: Gustaf Hendeby <hidden>
Date: 2016-06-15 22:43:12
Apparently gmail does some HTMLing on reply unless you watch out, so this didn't reach the list. /Gustaf ---------- Forwarded message ---------- From: Gustaf Hendeby <redacted> Date: May 25, 2007 12:39 AM Subject: Re: Problem using git svn clone To: Seth Falcon <redacted> Cc: git@vger.kernel.org On 5/24/07, Seth Falcon [off-list ref] wrote:
"Gustaf Hendeby" [off-list ref] writes:quoted
I have a problem with git-svn, which I hope the list can shed some light over. I'm quite new to git (but so far I really like it, great job guys!) and I never use SVN, so don't really know what information may be needed to be able to help me on the right track. I hope the below problem description is appropriate.Although you've described in detail what you did, it isn't clear to me what the problem is...
Let me clarify. When trying to check out the module with tags, the first example I only get the revisions, no content at all! I have added some more info on this below. The second case works as I expected it, I included it as reference, and to show that it worked (probably not the smartest thing to do I guess). Hence, probably just the first example is of interest.
quoted
The situation is as follows: I plan to use git and git svn to track a module in the middle of a SVN repository (which I have no control over) where I don't have read access more than to this specific module and the base directory, ie the layout is similar to this https://svn.foo.bar/a/b/c/trunk https://svn.foo.bar/a/b/c/tags https://svn.foo.bar/a/b/c/branches and I have read access to https://svm.foo.bar/a, https://svn.foo.bar/a/b/c and below, but nothing else. What I want to do is clone the whole thing, including tags and branches. I expected to be able to use the following command to do this (git v1.5.2): $ git svn clone https://svn.foo.bar/a/b/c -T trunk -t tags -b branches Initialized empty Git repository in .git/ Using higher level of URL: https://svn.foo.bar/a/b/c => https://svn.foo.bar/a W: Ignoring error from SVN, path probably does not exist: (175002): RA layer request failed: REPORT request failed on '/a/!svn/bc/100': REPORT of '/a/!svn/bc/100': Could not read chunk size: Secure connection truncated (https://svn.foo.bar) r306 = 83f0c10b988a8f1e77a3f354126c52f0cfdecf76 (trunk) [...] Found possible branch point: https://svn.foo.bar/a/b/c/trunk => https://svn.foo.bar/a/b/c/tags/0.1 , 314 Found branch parent: (tags/0.1) ad6a2361d0e69d6288ef226bb335bb4bf3bdd12e Following parent with do_update Successfully followed parent r315 = 3b92c4885b9d6f60241533dd99fa5023eebb1c64 (tags/0.1) r316 = 02e3b828b4f11c5fab9d10d85076a8ff209afa00 (trunk) [...] However, it seems I just get the info about the revisions (shows up nicely in gitk) but no content at all. The config file reads:
I'm really sorry, I mixed up the config files. :( So I actually get
this for the first example not the second:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[svn-remote "svn"]
url = https://foo.bar/a
fetch = b/c/trunk:refs/remotes/trunk
branches = b/c/branches/*:refs/remotes/*
tags = b/c/tags/*:refs/remotes/tags/*
Which looks good I guess... But to be a bit more clear about what
this actually gives me in the directory I just cloned to, and this is
the problem:
$ git checkout -f master
Already on branch "master"
$ ls -a
. .. .git
$ du -hs .git/objects
186K .git/objects
There should be hundreds of files here, several MB of code. So
something has gone seriously wrong here --- or at least did not work
the way I expected it to. The .git/objects in the second example
contains 5.7 MB data. More stats:
$ git rev-list --all | wc -l
99
$ git tag -l
$ git branch -a
* master
tags/0.1
tags/0.1.1
tags/0.2.0
tags/0.2.1
trunk
No tags (I mistook some of the branches for tags in the first post),
but some branches all containing no files, though, still claiming to
be clean...
quoted
If I instead do: $ git svn clone https://svn.foo.bar/a/b/c/trunk I get all content in trunk and their revision history, but as expected
That looks like what you want. Isn't it?
Second example works just as expected. I assume the listed commands below are assumed to work with the second example? They doesn't seem to do any good to my first example.
With that config, I would expect: git svn fetch pull updates for trunk and all branches and tags from the svn server. git checkout -b trunk remotes/git-svn checkout the current trunk git svn rebase fetch and rebase trunk or current branch. git svn should determine the right git branch from refs/remotes to rebase against. Does that help any?
Given the bad info I posted you did a great job, I really didn't intend to waste the lists time. Thanks! Though, my problem still remains. Given the new information, do you get any other ideas on what I do wrong?