I'm no git user and therefore haven't used git-buildpackage so far, so please don't worry if the following might be a stupid question, ...
Francois Marrie wrote: > I set my color.diff to always in ~/.gitconfig and then built a package with > "git-buildpackage" without any problems. ... but I don't see how this relates to this bugreport. I did some testing with a .gitconfig like this [diff] color = always and debcommit without patches fails with this setting. With addition of --no-color to the cmdline that is used to produce the diff debcommit works fine. Patrick Schoenfeld wrote: > resulting in a message like this: > (...) > The current patch is attached, but its not working this way, so it needs > further investigation. Okay, after sleeping a night about the problems, I came to the conclusion that because git supports colorizing output itself there is no reason to rely on colordiff and therefore I don't see a reason to fix this misuse of git. So IMHO the real solution for git-diff is to include the --no-color parameter instead. I have updated the patch. I would feel lucky if one of the devscripts maintainers could include it. Thanks and best Regards, Patrick
Index: debian/changelog =================================================================== --- debian/changelog (Revision 922) +++ debian/changelog (Arbeitskopie) @@ -26,7 +26,14 @@ [ Christoph Berg ] * debcommit: also look for \t in the diff for GNU-style changelogs. - -- Adam D. Barratt <[EMAIL PROTECTED]> Mon, 28 Jan 2008 22:58:38 +0000 + [ Patrick Schoenfeld ] + * debcommit: Work around problems when colordiff is used as diff-cmd with + subversion and svk or the color = always option with git. + (Closes: #462686) + * debcommit: Added a note to the manpage about potential problems with + colordiff. + + -- Patrick Schoenfeld <[EMAIL PROTECTED]> Tue, 29 Jan 2008 21:17:27 +0100 devscripts (2.10.13) unstable; urgency=low Index: scripts/debcommit.pl =================================================================== --- scripts/debcommit.pl (Revision 922) +++ scripts/debcommit.pl (Arbeitskopie) @@ -107,6 +107,15 @@ This is the key id used for signing tags. If not set, a default will be chosen by the revision control system. +=head1 DEBCOMMIT AND COLORDIFF + +If you use colordiff to colorize your output, this might cause problems. +debcommit tries to work around such problems, but under some circumstances +this could fail. So if debcommit complains that it is unable to find a commit +message it might be worth a try to disable colorized output of your vcs. +However: In order to have future versions of debcommit include fixes for such +problems it would be good to file a bug report if this happens. + =cut use warnings; @@ -485,10 +494,12 @@ @diffcmd = ($prog, 'file-diff'); } elsif ($prog eq 'git') { if ($all) { - @diffcmd = ('git-diff'); + @diffcmd = ('git-diff', '--no-color'); } else { - @diffcmd = ('git-diff', '--cached'); + @diffcmd = ('git-diff', '--cached', '--no-color'); } + } elsif ($prog eq 'svn' || $prog eq 'svk') { + @diffcmd = ($prog, 'diff', '--diff-cmd', '/usr/bin/diff'); } else { @diffcmd = ($prog, 'diff'); } @@ -501,7 +512,7 @@ next if /^\s*\[.*\]\s*$/; # maintainer name $ret .= $_; } - + if (! length $ret) { my $info=''; if ($prog eq 'git') {