Re: [PATCH] Rework cvsexportcommit to handle binary files for all cases.

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

 



Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> writes:

>> It would also be nice to rework this program so that it can work
>> with whitespaces in pathnames.  I do not think it currently
>> works with them at all.
>
> I sent a patch earlier, which was not applied, due to imperfections that I 
> cannot solve fully. One issue was that patch 2.5.9 was required and hacking 
> it to handle binary diffs with spaces would require and even worse kludge,

I suspect that we should not be using patch, but instead be
using git-apply perhaps with -C option if people want fuzz.

>> It appears that this program was never used in western
>> hemisphere, by the way ;-).
>
> Now, Sweden is definitely in the northern hemisphere, even during the cold 
> war, though a number of computer games colored it red (or was it only 
> Finland) during the cold war.

I know this script originally came from southern hemisphere, but
I was talking about _western_ hemisphere.  The comment refers to
the part of the code the attached patch fixes, which I will
apply along with your updated patch.

> The tests work with my locale (swedish ISO-8859-15),  even though they like 
> all other tests run in the C "hemishpere" by default. AFAIK, git isn't very 
> user friendly with non-ascii filenames as it is today and cvsexportcommit 
> didn't work on such files before, and it doesn't now. No change there. 

That is a separate issue.  I think scripts that work with git
plumbing should read from -z output when they need to and are
capable of, as we have done for git-cvsserver recently, and
things written in Perl certainly are capable of doing so.

diff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl
index facb466..b1cc014 100755
--- a/git-cvsexportcommit.perl
+++ b/git-cvsexportcommit.perl
@@ -68,9 +68,9 @@ foreach my $line (@commit) {
     if ($stage eq 'headers') {
 	if ($line =~ m/^parent (\w{40})$/) { # found a parent
 	    push @parents, $1;
-	} elsif ($line =~ m/^author (.+) \d+ \+\d+$/) {
+	} elsif ($line =~ m/^author (.+) \d+ [-+]\d+$/) {
 	    $author = $1;
-	} elsif ($line =~ m/^committer (.+) \d+ \+\d+$/) {
+	} elsif ($line =~ m/^committer (.+) \d+ [-+]\d+$/) {
 	    $committer = $1;
 	}
     } else {

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