Re: [PATCH] contrib/subtree: fix linefeeds trimming for cmd_split()
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 6, 2015, 19:49 UTC
- Message-ID
- <xmqqfv79trk8.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <CAMbsUu4bix6pJA4OOoMSwYu0M6nO1+aZ7RLXU5sSOdOevN_Wzw@mail.gmail.com>
Danny Lin <danny0838@gmail.com> writes:
Show 25 quoted lines
> cmd_split() prints a CR char by assigning a variable > with a literal CR in the source code, which could be > trimmed or mis-processed in some terminals. Replace > with $(printf '\r') to fix it. > > Signed-off-by: Danny Lin <danny0838@gmail.com> > --- > contrib/subtree/git-subtree.sh | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh > index fa1a583..3a581fc 100755 > --- a/contrib/subtree/git-subtree.sh > +++ b/contrib/subtree/git-subtree.sh > @@ -596,10 +596,11 @@ cmd_split() > revmax=$(eval "$grl" | wc -l) > revcount=0 > createcount=0 > + CR=$(printf '\r') > eval "$grl" | > while read rev parents; do > revcount=$(($revcount + 1)) > - say -n "$revcount/$revmax ($createcount) > " > + say -n "$revcount/$revmax ($createcount)$CR"
Interesting. I would have expected, especially this is a portability-fix change, that the change would be a single liner
- say -n ... + printf "%s\r" "$revcount/$revmax ($createcount)"
that does not touch any other line.
> debug "Processing commit: $rev" > exists=$(cache_get $rev) > if [ -n "$exists" ]; then