From: Junio C Hamano Date: Fri, 16 Oct 2015 21:42:47 +0000 (-0700) Subject: Merge branch 'jk/filter-branch-use-of-sed-on-incomplete-line' X-Git-Tag: v2.7.0-rc0~93 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/1551511bdbeb893a604234130544dda11ab8488d?ds=inline;hp=-c Merge branch 'jk/filter-branch-use-of-sed-on-incomplete-line' A recent "filter-branch --msg-filter" broke skipping of the commit object header, which is fixed. * jk/filter-branch-use-of-sed-on-incomplete-line: filter-branch: remove multi-line headers in msg filter --- 1551511bdbeb893a604234130544dda11ab8488d diff --combined git-filter-branch.sh index 5777947a5d,fff8093d4f..27c9c54fbd --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@@ -275,41 -275,11 +275,41 @@@ commits=$(wc -l <../revs | tr -d " " test $commits -eq 0 && die "Found nothing to rewrite" # Rewrite the commits +report_progress () +{ + if test -n "$progress" && + test $git_filter_branch__commit_count -gt $next_sample_at + then + count=$git_filter_branch__commit_count + + now=$(date +%s) + elapsed=$(($now - $start_timestamp)) + remaining=$(( ($commits - $count) * $elapsed / $count )) + if test $elapsed -gt 0 + then + next_sample_at=$(( ($elapsed + 1) * $count / $elapsed )) + else + next_sample_at=$(($next_sample_at + 1)) + fi + progress=" ($elapsed seconds passed, remaining $remaining predicted)" + fi + printf "\rRewrite $commit ($count/$commits)$progress " +} git_filter_branch__commit_count=0 + +progress= start_timestamp= +if date '+%s' 2>/dev/null | grep -q '^[0-9][0-9]*$' +then + next_sample_at=0 + progress="dummy to ensure this is not empty" + start_timestamp=$(date '+%s') +fi + while read commit parents; do git_filter_branch__commit_count=$(($git_filter_branch__commit_count+1)) - printf "\rRewrite $commit ($git_filter_branch__commit_count/$commits)" + + report_progress case "$filter_subdir" in "") @@@ -377,7 -347,7 +377,7 @@@ fi { - while read -r header_line && test -n "$header_line" + while IFS='' read -r header_line && test -n "$header_line" do # skip header lines... :;