git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-svn: Protect against "diff.color = true".

From
EWEric Wong <normalperson@yhbt.net>
Date
Aug 31, 2007, 21:58 UTC
Message-ID
<20070831215752.GA31033@untitled>
In-Reply-To
<7v4pifxuia.fsf_-_@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> If the configuration of the user has "diff.color = true", the
> output from "log" we invoke internally added color codes, which
> broke the parser.
> 
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
> 
>   Junio C Hamano <gitster@pobox.com> writes:
> 
>   > We probably should do two things to resolve this.
>   >
>   >  * Protect our scripts.  When parsing from "git log" and any
>   >    other Porcelain, explicitly give --no-color.
> 
>   Here is my attempt -- I do not have an easy access to SVN repo
>   to interoperate with, so a testing by real-world users and an
>   Ack is appreciated.  I think some fix for this issue (not
>   necessarily this patch) should be in 1.5.3 final.

Works for me here, although switching back to git-rev-list (--pretty=raw) would make me more comfortable.

Acked-by: Eric Wong <normalperson@yhbt.net>
Show 25 quoted lines
>  git-svn.perl |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/git-svn.perl b/git-svn.perl
> index 4e325b7..98218da 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -807,7 +807,7 @@ sub cmt_metadata {
>  
>  sub working_head_info {
>  	my ($head, $refs) = @_;
> -	my ($fh, $ctx) = command_output_pipe('log', $head);
> +	my ($fh, $ctx) = command_output_pipe('log', '--no-color', $head);
>  	my $hash;
>  	my %max;
>  	while (<$fh>) {
> @@ -2072,7 +2072,7 @@ sub rebuild {
>  		return;
>  	}
>  	print "Rebuilding $db_path ...\n";
> -	my ($log, $ctx) = command_output_pipe("log", $self->refname);
> +	my ($log, $ctx) = command_output_pipe("log", '--no-color', $self->refname);
>  	my $latest;
>  	my $full_url = $self->full_url;
>  	remove_username($full_url);
-- 
Eric Wong
Previous: Junio C Hamano
Message 18 of 18 in “Perl warning in git-svn (git v1.5.3-rc7-16-ge340d7d)”
  1. Robert NewsonAug 31, 2007
  2. Junio C HamanoAug 31, 2007
  3. Eric WongAug 31, 2007
  4. Robert NewsonAug 31, 2007
  5. Junio C HamanoAug 31, 2007
  6. Robert NewsonAug 31, 2007
  7. Robert NewsonAug 31, 2007
  8. Robert NewsonAug 31, 2007
  9. Junio C HamanoAug 31, 2007
  10. Junio C HamanoAug 31, 2007
  11. Sam VilainAug 31, 2007
  12. Johannes SchindelinAug 31, 2007
  13. git-svn: Protect against "diff.color = true".Junio C Hamano, Aug 31, 2007
  14. Johannes SchindelinAug 31, 2007
  15. Junio C HamanoAug 31, 2007
  16. Johannes SchindelinAug 31, 2007
  17. Junio C HamanoAug 31, 2007
  18. Eric WongAug 31, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.