Fwd: Problem using git svn clone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
Date: May 25, 2007 12:39 AM
Subject: Re: Problem using git svn clone
To: Seth Falcon <sethfalcon@xxxxxxxxx>
Cc: git@xxxxxxxxxxxxxxx


On 5/24/07, Seth Falcon <sethfalcon@xxxxxxxxx> wrote:
"Gustaf Hendeby" <hendeby@xxxxxxxxx> 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.

> 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...

>
>
> 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?
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux