From: Eric Wong <normalperson@yhbt.net>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org, Seth Falcon <sethfalcon@gmail.com>
Subject: Re: minimize_url in git-svn?
Date: Tue, 8 May 2007 12:34:55 -0700 [thread overview]
Message-ID: <20070508193455.GA14602@muzzle> (raw)
In-Reply-To: <7v4pmn4oxj.fsf_-_@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> wrote:
> I was trying to run git-svn against this:
>
> https://repo.socialtext.net:8999/svn/socialtext/trunk
>
> This is an open source project [*1*] and the trunk is supposed
> to be readable by everybody, but it seems that anything outside
> that area needs authentication. If I mimick the example in
> git-svn.txt manual page to clone from there, it creates trunk,
> trunk/.git, and then asks for password:
>
> $ URL=https://repo.socialtext.net:8999/svn/socialtext/trunk
> $ git-svn clone $URL
> Authentication realm: <https://repo.socialtext.net:8999> Auth for SVN
> Password for 'junio': ^C
>
> I've narrowed it down to this part of git-svn. If I tell it not
> to bother "minimiz"ing the URL, it seems to import without
> stepping outside of the URL it was given.
>
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -1038,7 +1038,8 @@
> }
> $self->{repo_id} = $existing;
> } else {
> - my $min_url = Git::SVN::Ra->new($url)->minimize_url;
> + my $ra = Git::SVN::Ra->new($url);
> + my $min_url = $url; # $ra->minimize_url;
> $existing = find_existing_remote($min_url, $r);
> if ($existing) {
> unless ($no_write) {
That should be fine.
> Two and half questions.
>
> * What does minimize do, and why is it necessary?
I try to connect to the root (or closer to the root) of the repository.
This allows branches and tags to be tracked more effectively without
needing reconnects. There's a reparent function in SVN 1.4, but it
doesn't work correctly with svn:// repos last I checked (1.4.3)
> * The resulting git-svn remote tracking branch (and 'master')
> seems to check out fine, but I do not know what damage the
> hack to avoid minimizing is causing. Are there any? I see
> many 0{40} lines in trunk/.git/svn/git-svn/.rev_db.* file,
> and also many lines in unhandled.log file (+empty_dir,
> +file_prop, and +dir_prop). Are these something to worry
> about?
Nope. unhandled.log is strictly informational.
.rev_db is offset-based database. Revision numbers to git commits can
be looked up using (SVN revision * 41).
If the project has really high revision numbers (like gcc) or lots of
tags, it's a space-killer. I've been meaning to add an optional SQLite
alternative to .rev_db for people tracking those projects. Patches
welcome :)
> * Assuming there aren't any damage, or maybe some damage that
> would cause minor decreased functionality/interoperability,
> would it perhaps make sense to optionally allow skipping the
> minimizing to avoid this problem? Would it make sense, or is
> the setting at socialtext site too esoteric and it isn't
> worth to worry about?
It *should* be automatically detecting the highest level up it can
access and stop there. In your case, there's obviously something
broken in my code :(
I've definitely tested this as working against Seth Falcon's hedgehog
repo (URL is somewhere in the archives). I also setup a test repository
somewhere that I can double-check against.
> [Footnote]
>
> *1* http://www.socialtext.net/stoss/index.cgi?developing_with_a_dev_env
I'll try to take a look at that in the next few days. I also have
segfaults to fix that I haven't gotten to :(
--
Eric Wong
next prev parent reply other threads:[~2007-05-08 19:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-06 18:56 importing multi-project svn repositories David Hanson
2007-05-07 18:06 ` Steven Grimm
2007-05-08 3:48 ` Dave Hanson
2007-05-08 7:16 ` Deprecate git-svnimport? Steven Grimm
2007-05-08 9:58 ` minimize_url in git-svn? Junio C Hamano
2007-05-08 11:28 ` Johannes Schindelin
2007-05-08 19:34 ` Eric Wong [this message]
2007-05-09 4:56 ` Junio C Hamano
2007-05-13 16:58 ` [PATCH] git-svn: don't attempt to minimize URLs by default Eric Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070508193455.GA14602@muzzle \
--to=normalperson@yhbt.net \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=sethfalcon@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).