Eric Sunshine <[email protected]> writes:
> On Mon, Sep 7, 2015 at 9:52 AM, Gábor Bernát <[email protected]> wrote:
>...
>> # Rewrite the commits
>> +report_progress ()
>> +{
>> +if test -n "$progress"
>> +then
>
> Indent code within the function...
Also git_filter_branch__commit_count is now used only inside this
function, so it is easier to follow to increment it here.
I suspect that the variable has this unwieldy name for historic
reasons, perhaps an attempt to avoid name clashes with the end user
script, but it has many variables (e.g. $commits, $ref, etc.) that
are way too generic and that I can see no attempt of name clash
avoidance, so renaming it to $total_commits or something _might_
make some sense.
> ...
>> +printf "\rRewrite $commit
>> ($git_filter_branch__commit_count/$commits)$progress"
>
> The "\r" causes this status line to be overwritten each time through,
> and since the processed commit count always increases, we know that
> the original (without ETA) will never leave junk at the end of the
> line. However, with estimated seconds also being displayed, does this
> still hold?
Good point.
Perhaps like this squashed in?
git-filter-branch.sh | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index 565144a..30ef513 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -277,27 +277,28 @@ test $commits -eq 0 && die "Found nothing to rewrite"
# Rewrite the commits
report_progress ()
{
-if test -n "$progress"
-then
- if test $git_filter_branch__commit_count -gt $next_sample_at
+ git_filter_branch__commit_count=$(($git_filter_branch__commit_count+1))
+
+ if test -n "$progress"
then
- now_timestamp=$(date +%s)
- elapsed_seconds=$(($now_timestamp - $start_timestamp))
- remaining_second=$(( ($commits -
$git_filter_branch__commit_count) * $elapsed_seconds /
$git_filter_branch__commit_count ))
- if test $elapsed_seconds -gt 0
+ if test "$git_filter_branch__commit_count" -gt "$next_sample_at"
then
- next_sample_at=$(( ($elapsed_seconds + 1) *
$git_filter_branch__commit_count / $elapsed_seconds ))
- else
- next_sample_at=$(($next_sample_at + 1))
+ now_timestamp=$(date "+%s")
+ elapsed_seconds=$(($now_timestamp - $start_timestamp))
+ remaining_second=$(( ($commits -
$git_filter_branch__commit_count) * $elapsed_seconds /
$git_filter_branch__commit_count ))
+ if test $elapsed_seconds -gt 0
+ then
+ next_sample_at=$(( ($elapsed_seconds + 1) *
$git_filter_branch__commit_count / $elapsed_seconds ))
+ else
+ next_sample_at=$(($next_sample_at + 1))
+ fi
+ progress=" ($elapsed_seconds seconds passed, remaining
$remaining_second predicted)"
fi
- progress=" ($elapsed_seconds seconds passed, remaining
$remaining_second predicted)"
fi
-fi
-printf "\rRewrite $commit ($git_filter_branch__commit_count/$commits)$progress"
+ printf "\rRewrite $commit
($git_filter_branch__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
@@ -306,9 +307,8 @@ then
start_timestamp=$(date '+%s')
fi
-while read commit parents; do
- git_filter_branch__commit_count=$(($git_filter_branch__commit_count+1))
-
+while read commit parents
+do
report_progress
case "$filter_subdir" in
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html