diff options
author | Elijah Newren <newren@gmail.com> | 2020-02-15 21:36:41 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-02-16 15:40:42 -0800 |
commit | 10cdb9f38adaa16aad64403bc931405564523985 (patch) | |
tree | ecce29c2fb8ca24862f684b6252c4d22b1b41945 /t/t3424-rebase-empty.sh | |
parent | rebase: change the default backend from "am" to "merge" (diff) | |
download | tgif-10cdb9f38adaa16aad64403bc931405564523985.tar.xz |
rebase: rename the two primary rebase backends
Two related changes, with separate rationale for each:
Rename the 'interactive' backend to 'merge' because:
* 'interactive' as a name caused confusion; this backend has been used
for many kinds of non-interactive rebases, and will probably be used
in the future for more non-interactive rebases than interactive ones
given that we are making it the default.
* 'interactive' is not the underlying strategy; merging is.
* the directory where state is stored is not called
.git/rebase-interactive but .git/rebase-merge.
Rename the 'am' backend to 'apply' because:
* Few users are familiar with git-am as a reference point.
* Related to the above, the name 'am' makes sentences in the
documentation harder for users to read and comprehend (they may read
it as the verb from "I am"); avoiding this difficult places a large
burden on anyone writing documentation about this backend to be very
careful with quoting and sentence structure and often forces
annoying redundancy to try to avoid such problems.
* Users stumble over pronunciation ("am" as in "I am a person not a
backend" or "am" as in "the first and thirteenth letters in the
alphabet in order are "A-M"); this may drive confusion when one user
tries to explain to another what they are doing.
* While "am" is the tool driving this backend, the tool driving git-am
is git-apply, and since we are driving towards lower-level tools
for the naming of the merge backend we may as well do so here too.
* The directory where state is stored has never been called
.git/rebase-am, it was always called .git/rebase-apply.
For all the reasons listed above:
* Modify the documentation to refer to the backends with the new names
* Provide a brief note in the documentation connecting the new names
to the old names in case users run across the old names anywhere
(e.g. in old release notes or older versions of the documentation)
* Change the (new) --am command line flag to --apply
* Rename some enums, variables, and functions to reinforce the new
backend names for us as well.
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3424-rebase-empty.sh')
-rwxr-xr-x | t/t3424-rebase-empty.sh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/t/t3424-rebase-empty.sh b/t/t3424-rebase-empty.sh index cfb1ebc1ff..98fc2a558a 100755 --- a/t/t3424-rebase-empty.sh +++ b/t/t3424-rebase-empty.sh @@ -34,11 +34,11 @@ test_expect_success 'setup test repository' ' git commit -m "Five letters ought to be enough for anybody" ' -test_expect_failure 'rebase (am-backend)' ' +test_expect_failure 'rebase (apply-backend)' ' test_when_finished "git rebase --abort" && git checkout -B testing localmods && - # rebase (--am) should not drop commits that start empty - git rebase upstream && + # rebase (--apply) should not drop commits that start empty + git rebase --apply upstream && test_write_lines D C B A >expect && git log --format=%s >actual && |