Merge branch 'gb/filter-branch-progress'
Give progress meter to "git filter-branch". * gb/filter-branch-progress: filter-branch: make report-progress more readable filter-branch: add passed/remaining seconds on progress
This commit is contained in:
commit
a23d263b69
@ -275,11 +275,41 @@ commits=$(wc -l <../revs | tr -d " ")
|
|||||||
test $commits -eq 0 && die "Found nothing to rewrite"
|
test $commits -eq 0 && die "Found nothing to rewrite"
|
||||||
|
|
||||||
# Rewrite the commits
|
# 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
|
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
|
while read commit parents; do
|
||||||
git_filter_branch__commit_count=$(($git_filter_branch__commit_count+1))
|
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
|
case "$filter_subdir" in
|
||||||
"")
|
"")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user