Re: Problem using git svn clone
From: Seth Falcon <hidden>
Date: 2016-06-15 22:43:12
"Gustaf Hendeby" [off-list ref] writes:
Hi! 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...
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: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [svn-remote "svn"] url = https://svn.foo.bar/a/b/c/trunk fetch = :refs/remotes/git-svn If I instead do: $ git svn clone https://svn.foo.bar/a/b/c/trunk Initialized empty Git repository in .git/ W: Ignoring error from SVN, path probably does not exist: (175007): HTTP Path Not Found: REPORT request failed on '/a/!svn/bc/100/b/c/trunk': '/a/!svn/bc/100/b/c/trunk' path not found W: +empty_dir: source W: +empty_dir: test r306 = 83f0c10b988a8f1e77a3f354126c52f0cfdecf76 (git-svn) A resources/extensions/circuitparts.drext [...] r309 = 3a386e9b985c419d129461acbf24978795b36b96 (git-svn) A tools/source/physical.cc [...] I get all content in trunk and their revision history, but as expected no tag info. The config file reads: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [svn-remote "svn"] url = https://svn.foo.bar/a fetch = b/c/trunk:refs/remotes/trunk branches = b/c/branches/*:refs/remotes/* tags = b/c/tags/*:refs/remotes/tags/*
That looks like what you want. Isn't it? 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? + seth -- Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center http://bioconductor.org