Merge branch 'js/rebase-i-progress-tidy'
authorJunio C Hamano <gitster@pobox.com>
Mon, 8 Aug 2016 21:48:38 +0000 (14:48 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 Aug 2016 21:48:38 +0000 (14:48 -0700)
Regression fix for an i18n topic already in 'master'.

* js/rebase-i-progress-tidy:
rebase-interactive: trim leading whitespace from progress count

1  2 
git-rebase--interactive.sh
index ded459563816ebe36f4e467f596f0c84fa30ff57,44ba3d30e271fe92a5a749612c722a8cbc5618c0..e2da524f5a26206b3558f5a1d062695939c054e7
@@@ -121,7 -121,7 +121,7 @@@ mark_action_done () 
        sed -e 1q < "$todo" >> "$done"
        sed -e 1d < "$todo" >> "$todo".new
        mv -f "$todo".new "$todo"
-       new_count=$(git stripspace --strip-comments <"$done" | wc -l)
+       new_count=$(( $(git stripspace --strip-comments <"$done" | wc -l) ))
        echo $new_count >"$msgnum"
        total=$(($new_count + $(git stripspace --strip-comments <"$todo" | wc -l)))
        echo $total >"$end"
@@@ -144,28 -144,29 +144,28 @@@ reschedule_last_action () 
  }
  
  append_todo_help () {
 -      git stripspace --comment-lines >>"$todo" <<\EOF
 -
 +      gettext "
  Commands:
   p, pick = use commit
   r, reword = use commit, but edit the commit message
   e, edit = use commit, but stop for amending
   s, squash = use commit, but meld into previous commit
 - f, fixup = like "squash", but discard this commit's log message
 + f, fixup = like \"squash\", but discard this commit's log message
   x, exec = run command (the rest of the line) using shell
   d, drop = remove commit
  
  These lines can be re-ordered; they are executed from top to bottom.
 +" | git stripspace --comment-lines >>"$todo"
  
 -EOF
        if test $(get_missing_commit_check_level) = error
        then
 -              git stripspace --comment-lines >>"$todo" <<\EOF
 +              gettext "
  Do not remove any line. Use 'drop' explicitly to remove a commit.
 -EOF
 +" | git stripspace --comment-lines >>"$todo"
        else
 -              git stripspace --comment-lines >>"$todo" <<\EOF
 +              gettext "
  If you remove a line here THAT COMMIT WILL BE LOST.
 -EOF
 +" | git stripspace --comment-lines >>"$todo"
        fi
  }
  
@@@ -191,6 -192,7 +191,6 @@@ make_patch () 
  die_with_patch () {
        echo "$1" > "$state_dir"/stopped-sha
        make_patch "$1"
 -      git rerere
        die "$2"
  }
  
@@@ -212,7 -214,6 +212,7 @@@ Once you are satisfied with your change
  }
  
  die_abort () {
 +      apply_autostash
        rm -rf "$state_dir"
        die "$1"
  }
@@@ -402,52 -403,12 +402,52 @@@ pick_one_preserving_merges () 
        esac
  }
  
 -nth_string () {
 -      case "$1" in
 -      *1[0-9]|*[04-9]) echo "$1"th;;
 -      *1) echo "$1"st;;
 -      *2) echo "$1"nd;;
 -      *3) echo "$1"rd;;
 +this_nth_commit_message () {
 +      n=$1
 +      case "$n" in
 +      1) gettext "This is the 1st commit message:";;
 +      2) gettext "This is the 2nd commit message:";;
 +      3) gettext "This is the 3rd commit message:";;
 +      4) gettext "This is the 4th commit message:";;
 +      5) gettext "This is the 5th commit message:";;
 +      6) gettext "This is the 6th commit message:";;
 +      7) gettext "This is the 7th commit message:";;
 +      8) gettext "This is the 8th commit message:";;
 +      9) gettext "This is the 9th commit message:";;
 +      10) gettext "This is the 10th commit message:";;
 +      # TRANSLATORS: if the language you are translating into
 +      # doesn't allow you to compose a sentence in this fashion,
 +      # consider translating as if this and the following few strings
 +      # were "This is the commit message ${n}:"
 +      *1[0-9]|*[04-9]) eval_gettext "This is the \${n}th commit message:";;
 +      *1) eval_gettext "This is the \${n}st commit message:";;
 +      *2) eval_gettext "This is the \${n}nd commit message:";;
 +      *3) eval_gettext "This is the \${n}rd commit message:";;
 +      *) eval_gettext "This is the commit message \${n}:";;
 +      esac
 +}
 +skip_nth_commit_message () {
 +      n=$1
 +      case "$n" in
 +      1) gettext "The 1st commit message will be skipped:";;
 +      2) gettext "The 2nd commit message will be skipped:";;
 +      3) gettext "The 3rd commit message will be skipped:";;
 +      4) gettext "The 4th commit message will be skipped:";;
 +      5) gettext "The 5th commit message will be skipped:";;
 +      6) gettext "The 6th commit message will be skipped:";;
 +      7) gettext "The 7th commit message will be skipped:";;
 +      8) gettext "The 8th commit message will be skipped:";;
 +      9) gettext "The 9th commit message will be skipped:";;
 +      10) gettext "The 10th commit message will be skipped:";;
 +      # TRANSLATORS: if the language you are translating into
 +      # doesn't allow you to compose a sentence in this fashion,
 +      # consider translating as if this and the following few strings
 +      # were "The commit message ${n} will be skipped:"
 +      *1[0-9]|*[04-9]) eval_gettext "The \${n}th commit message will be skipped:";;
 +      *1) eval_gettext "The \${n}st commit message will be skipped:";;
 +      *2) eval_gettext "The \${n}nd commit message will be skipped:";;
 +      *3) eval_gettext "The \${n}rd commit message will be skipped:";;
 +      *) eval_gettext "The commit message \${n} will be skipped:";;
        esac
  }
  
@@@ -455,23 -416,20 +455,23 @@@ update_squash_messages () 
        if test -f "$squash_msg"; then
                mv "$squash_msg" "$squash_msg".bak || exit
                count=$(($(sed -n \
 -                      -e "1s/^. This is a combination of \(.*\) commits\./\1/p" \
 +                      -e "1s/^$comment_char.*\([0-9][0-9]*\).*/\1/p" \
                        -e "q" < "$squash_msg".bak)+1))
                {
 -                      printf '%s\n' "$comment_char This is a combination of $count commits."
 +                      printf '%s\n' "$comment_char $(eval_ngettext \
 +                              "This is a combination of \$count commit." \
 +                              "This is a combination of \$count commits." \
 +                              $count)"
                        sed -e 1d -e '2,/^./{
                                /^$/d
                        }' <"$squash_msg".bak
                } >"$squash_msg"
        else
 -              commit_message HEAD > "$fixup_msg" || die "Cannot write $fixup_msg"
 +              commit_message HEAD > "$fixup_msg" || die "$(gettext "Cannot write \$fixup_msg")"
                count=2
                {
 -                      printf '%s\n' "$comment_char This is a combination of 2 commits."
 -                      printf '%s\n' "$comment_char The first commit's message is:"
 +                      printf '%s\n' "$comment_char $(gettext "This is a combination of 2 commits.")"
 +                      printf '%s\n' "$comment_char $(gettext "This is the 1st commit message:")"
                        echo
                        cat "$fixup_msg"
                } >"$squash_msg"
        squash)
                rm -f "$fixup_msg"
                echo
 -              printf '%s\n' "$comment_char This is the $(nth_string $count) commit message:"
 +              printf '%s\n' "$comment_char $(this_nth_commit_message $count)"
                echo
                commit_message $2
                ;;
        fixup)
                echo
 -              printf '%s\n' "$comment_char The $(nth_string $count) commit message will be skipped:"
 +              printf '%s\n' "$comment_char $(skip_nth_commit_message $count)"
                echo
                # Change the space after the comment character to TAB:
                commit_message $2 | git stripspace --comment-lines | sed -e 's/ /       /'
@@@ -1090,8 -1048,8 +1090,8 @@@ The possible behaviours are: ignore, wa
  # below were not inside any function, and expected to return
  # to the function that dot-sourced us.
  #
 -# However, FreeBSD /bin/sh misbehaves on such a construct and
 -# continues to run the statements that follow such a "return".
 +# However, older (9.x) versions of FreeBSD /bin/sh misbehave on such a
 +# construct and continue to run the statements that follow such a "return".
  # As a work-around, we introduce an extra layer of a function
  # here, and immediately call it after defining it.
  git_rebase__interactive () {
@@@ -1165,12 -1123,13 +1165,12 @@@ edit-todo
        mv -f "$todo".new "$todo"
        collapse_todo_ids
        append_todo_help
 -      git stripspace --comment-lines >>"$todo" <<\EOF
 -
 +      gettext "
  You are editing the todo file of an ongoing interactive rebase.
  To continue rebase after editing, run:
      git rebase --continue
  
 -EOF
 +" | git stripspace --comment-lines >>"$todo"
  
        git_sequence_editor "$todo" ||
                die "$(gettext "Could not execute editor")"
@@@ -1311,16 -1270,14 +1311,16 @@@ todocount=${todocount##* 
  
  cat >>"$todo" <<EOF
  
 -$comment_char Rebase $shortrevisions onto $shortonto ($todocount command(s))
 +$comment_char $(eval_ngettext \
 +      "Rebase \$shortrevisions onto \$shortonto (\$todocount command)" \
 +      "Rebase \$shortrevisions onto \$shortonto (\$todocount commands)" \
 +      "$todocount")
  EOF
  append_todo_help
 -git stripspace --comment-lines >>"$todo" <<\EOF
 -
 +gettext "
  However, if you remove everything, the rebase will be aborted.
  
 -EOF
 +" | git stripspace --comment-lines >>"$todo"
  
  if test -z "$keep_empty"
  then