Re: Problem using git svn clone

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

 



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

If you see the output of the revisions being pulled from svn this
seems very odd.  Does a 'du -sh' in the created directory confirm no
data is there?  Are you sure it isn't just a matter of nothing getting
checked out for you?

The following result is the same directly after the clone attempt and
after a git checkout -f master:

$ du -hs
357K    .
$ ls -a
.  ..  .git

If it is just not checked out I don't know what I'm doing wrong trying
to check it out.

> 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

What's in .git/refs/remotes?

$ ls -R .git/refs/remotes/
.git/refs/remotes/:
tags  trunk

.git/refs/remotes/tags:
0.1  0.1.1  0.2.0  0.2.1

So, in some way there seems to be tag information, but git doesn't
seem to handle them as tags.


Does 'git checkout -b mytrunk refs/remotes/git-svn' work?

$ git checkout -b mytrunk refs/remotes/git-svn
git checkout: updating paths is incompatible with switching branches/forcing
Did you intend to checkout 'refs/remotes/git-svn' which can not be
resolved as commit?

However
$ git checkout -b mytrunk refs/remotes/trunk
works but is without any content.


> Already on branch "master"
> $ ls -a
> .  ..  .git
> $ du -hs .git/objects
> 186K    .git/objects

A du of the entire .git dir would be more informative.

$ du -hs .git
356K    .git

For the checkout of the trunk, that works but don't obtain what I'm
looking for has:
$ du -hs .git
5.9M    .git
More stuff has been stored here.  The clone process here also
indicates lots of added and changed files, not just list SVN revision
numbers with matching SHA1s as in the case shown above.

Also, this may be totally natural, but I find the warning that I get
at the start of the clone quite strange (from above):

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)

From where comes the !svn/bc/100 ?  Is it supposed to be like that?
Also, it feels a bit dangerous to me to fall back to a position in the
SVN tree where there is a level that I don't have any access to
between the base and the module I want and have access to.

/Gustaf
-
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