git svn info: make info relative to the current directory

Previously 'git svn info <path>' would always treat the <path> as
relative to the working directory root, with a default of ".".  This
does not match the behaviour of 'svn info'.  Prepend $(git rev-parse
--show-prefix) to the path used inside cmd_info to make it relative to
the current working directory.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
Thomas Rast
2008-08-26 21:32:36 +02:00
committed by Eric Wong
parent 8d5100c7a8
commit edde9112ab
2 changed files with 16 additions and 3 deletions

View File

@ -805,6 +805,7 @@ sub cmd_commit_diff {
sub cmd_info {
my $path = canonicalize_path(defined($_[0]) ? $_[0] : ".");
my $fullpath = canonicalize_path($cmd_dir_prefix . $path);
if (exists $_[1]) {
die "Too many arguments specified\n";
}
@ -825,7 +826,7 @@ sub cmd_info {
# canonicalize_path() will return "" to make libsvn 1.5.x happy,
$path = "." if $path eq "";
my $full_url = $url . ($path eq "." ? "" : "/$path");
my $full_url = $url . ($fullpath eq "" ? "" : "/$fullpath");
if ($_url) {
print $full_url, "\n";
@ -861,7 +862,7 @@ sub cmd_info {
}
my ($lc_author, $lc_rev, $lc_date_utc);
my @args = Git::SVN::Log::git_svn_log_cmd($rev, $rev, "--", $path);
my @args = Git::SVN::Log::git_svn_log_cmd($rev, $rev, "--", $fullpath);
my $log = command_output_pipe(@args);
my $esc_color = qr/(?:\033\[(?:(?:\d+;)*\d*)?m)*/;
while (<$log>) {