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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 31, 2007, 21:29 UTC
Message-ID
<7v4pifxuia.fsf_-_@gitster.siamese.dyndns.org>
In-Reply-To
<7v4pifzawc.fsf@gitster.siamese.dyndns.org>

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.
 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);
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 13 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.