simplify - there's no need to handle other branches or moves in this

Mon, 14 Oct 2019 17:14:16 -0500

author
Meredith Howard <mhoward@roomag.org>
date
Mon, 14 Oct 2019 17:14:16 -0500
changeset 798
d690f45fd713
parent 797
41e248a8a6f7
child 799
52ff7c31cc8b

simplify - there's no need to handle other branches or moves in this

bin/git-histedit file | annotate | diff | comparison | revisions
--- a/bin/git-histedit
+++ b/bin/git-histedit
@@ -5,19 +5,10 @@ case ${1:-} in *help|-h)
   exec perldoc -T $0;;
 esac
 
-UPSTREAM="${1:-@{u}}"
-BRANCH="${2:-$(git symbolic-ref --short -q HEAD || echo HEAD)}"
-
-[ "$#" -ne 0 ] && shift
-[ "$#" -ne 0 ] && shift
+BRANCH="$(git symbolic-ref --short -q HEAD)"
+BASE=$(git merge-base "@{u}" "$BRANCH")
 
-if git merge-base --is-ancestor "$UPSTREAM" "$BRANCH"; then
-  BASE=$(git rev-parse "$UPSTREAM")
-else
-  BASE=$(git merge-base "$UPSTREAM" "$BRANCH")
-fi
-
-exec git rebase --interactive --autosquash "$BASE" "$BRANCH" "$@"
+exec git rebase --interactive --autosquash "$@" "$BASE" "$BRANCH"
 
 :<<=cut
 =head1 NAME
@@ -30,9 +21,10 @@ git histedit
 
 =head1 DESCRIPTION
 
-C<histedit> lets you edit a branch using interactive rebase, but without
-actually I<moving> the fork point of your branch, avoiding the complications of
-fixing up your history and dealing with merge conflicts at the same time.
+C<histedit> lets you edit the current branch using interactive rebase, but
+without actually I<moving> the fork point of your branch, avoiding the
+complications of fixing up your history and dealing with merge conflicts at the
+same time.
 
 See also: C<hg histedit>
 

mercurial