Skip to content

Commit

Permalink
gitk: Cope with commit messages with carriage-returns and initial bla…
Browse files Browse the repository at this point in the history
…nk lines

In some repositories imported from other systems we can get carriage
return characters in the commit message, which leads to a multi-line
headline being displayed in the summary window, which looks bad.
Also some commit messages start with one or more blank lines, which
leads to an empty headline.  This fixes these problems.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed Jun 23, 2007
1 parent 7eb3cb9 commit 43c2507
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions gitk
Original file line number Diff line number Diff line change
Expand Up @@ -341,12 +341,16 @@ proc parsecommit {id contents listed} {
}
}
set headline {}
# take the first line of the comment as the headline
set i [string first "\n" $comment]
# take the first non-blank line of the comment as the headline
set headline [string trimleft $comment]
set i [string first "\n" $headline]
if {$i >= 0} {
set headline [string trim [string range $comment 0 $i]]
} else {
set headline $comment
set headline [string range $headline 0 $i]
}
set headline [string trimright $headline]
set i [string first "\r" $headline]
if {$i >= 0} {
set headline [string trimright [string range $headline 0 $i]]
}
if {!$listed} {
# git rev-list indents the comment by 4 spaces;
Expand Down Expand Up @@ -4157,7 +4161,11 @@ proc selectline {l isnew} {
dispneartags 1
}
$ctext insert end "\n"
appendwithlinks [lindex $info 5] {comment}
set comment [lindex $info 5]
if {[string first "\r" $comment] >= 0} {
set comment [string map {"\r" "\n "} $comment]
}
appendwithlinks $comment {comment}

$ctext tag delete Comments
$ctext tag remove found 1.0 end
Expand Down

0 comments on commit 43c2507

Please sign in to comment.