Skip to content
  • Zoltan Klinger's avatar
    bash-prompt.sh: show where rebase is at when stopped · b71dc3e1
    Zoltan Klinger authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    When a rebase stops (e.g. interrupted by a merge conflict), it could
    be useful to know how far a rebase has progressed and how many
    commits in total this rebase will apply. Teach the __git_ps1()
    command to display the number of commits so far applied and the
    total number of commits to be applied, like this:
    
      ((3ec0a6a...)|REBASE 2/5)
    
    In the example above the rebase has stopped at the second commit due to
    a merge conflict and there are a total number of five commits to be
    applied by this rebase.
    
    This information can be already obtained from the following files which are
    being generated during the rebase:
    
        GIT_DIR/.git/rebase-merge/msgnum (git-rebase--merge.sh)
        GIT_DIR/.git/rebase-merge/end    (git-rebase--merge.sh)
        GIT_DIR/.git/rebase-apply/next   (git-am.sh)
        GIT_DIR/.git/rebase-apply/last   (git-am.sh)
    
    but "rebase -i" does not leave necessary clues.
    
    Implement this feature by doing these three things:
    
      1) Modify git-rebase--interactive.sh to also create
    
    	GIT_DIR/.git/rebase-merge/msgnum
    	GIT_DIR/.git/rebase-merge/end
    
         files for the number of commits so far applied and the total
         number of commits to be applied.
    
      2) Modify git-prompt.sh to read and display info from the above
         files.
    
      3) Update test t9903-bash-prompt.sh to reflect changes introduced
         by this patch.
    
    Signed-off-by: default avatarZoltan Klinger <zoltan.klinger@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    b71dc3e1