git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Fwd: Problem using git svn clone

From
GHGustaf Hendeby <hendeby@gmail.com>
Date
May 24, 2007, 22:48 UTC
Message-ID
<bf7b2dda0705241548m29bbb9f9y53d9f9d7448e73ae@mail.gmail.com>
In-Reply-To
<bf7b2dda0705241539i56f1b5b3kcd001e871e8688ef@mail.gmail.com>

Apparently gmail does some HTMLing on reply unless you watch out, so this didn't reach the list.

/Gustaf
---------- Forwarded message ----------
From: Gustaf Hendeby <hendeby@gmail.com>
Date: May 25, 2007 12:39 AM
Subject: Re: Problem using git svn clone
To: Seth Falcon <sethfalcon@gmail.com>
Cc: git@vger.kernel.org
On 5/24/07, Seth Falcon <sethfalcon@gmail.com> wrote:
Show 10 quoted lines
> "Gustaf Hendeby" <hendeby@gmail.com> writes:
>
> > 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.

Show 38 quoted lines
> > 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...

Show 6 quoted lines
> >
> >
> > 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.

Show 14 quoted lines
> 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?

Previous: Seth FalconNext: Seth Falcon
Message 3 of 7 in “Problem using git svn clone”
  1. Gustaf HendebyMay 24, 2007
  2. Seth FalconMay 24, 2007
  3. Fwd: Problem using git svn cloneGustaf Hendeby, May 24, 2007
  4. Seth FalconMay 25, 2007
  5. Gustaf HendebyMay 25, 2007
  6. Seth FalconMay 25, 2007
  7. Gustaf HendebyMay 25, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.