Re: Problem using GIT CVS-server

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

 



"Martin Langhoff" <martin.langhoff@xxxxxxxxx> writes:

> On 5/3/06, Martin Langhoff <martin.langhoff@xxxxxxxxx> wrote:
>> Hmmm. 100% reproduceable -- looking at it now.
>
> Grumble. Some recent change has broken cvsserver -- if I rewind to the
> commit I made of cvsserver, the checkout works correctly. I suspect
> changes to git-diff-tree. However, I'll play dumb and try bisect to
> see where it leads...

Ah, the "master" git-log is C-rewrite version and does not show
the parents on the "commit (.*)" line itself with --parents.

Could you see if the attached patch helps?

When Linus and I did the rewrite, we tried to be somewhat
careful not to break people's expectations, but at the same
time, we considered that the log/show/whatchanged frontends to
rev-list are primarily for human consumption, so we "improved"
the details a bit [*1*], which obviously broke cvsserver's use
of git-log.

*1* Another difference I know about is that whatchanged used to
start an entry with "diff-tree" but now says "commit" like
others in "log" family of frontends.

-- >8 --
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 11d153c..71e384c 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -2076,14 +2076,15 @@ sub update
     # TODO: log processing is memory bound
     # if we can parse into a 2nd file that is in reverse order
     # we can probably do something really efficient
-    my @git_log_params = ('--parents', '--topo-order');
+    my @git_rl_params = ('--parents', '--topo-order', '--pretty');
 
     if (defined $lastcommit) {
-        push @git_log_params, "$lastcommit..$self->{module}";
+        push @git_rl_params, "$lastcommit..$self->{module}";
     } else {
-        push @git_log_params, $self->{module};
+        push @git_rl_params, $self->{module};
     }
-    open(GITLOG, '-|', 'git-log', @git_log_params) or die "Cannot call git-log: $!";
+    open(GITLOG, '-|', 'git-rev-list',
+	 @git_rl_params) or die "Cannot call git-rev-list: $!";
 
     my @commits;
 

-
: 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]