summaryrefslogtreecommitdiff
path: root/rebase.h
diff options
context:
space:
mode:
authorBert Wesarg <bert.wesarg@googlemail.com>2020-01-27 07:04:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-02-10 18:52:10 (GMT)
commit88f8576eda2880587fb4487ba469d909dbe35a7b (patch)
tree8d3f3e2934a0461a114b0f989df36be028c136c8 /rebase.h
parent145d59f48233c64cb8a9262c9f1451cc7d66b530 (diff)
downloadgit-88f8576eda2880587fb4487ba469d909dbe35a7b.zip
git-88f8576eda2880587fb4487ba469d909dbe35a7b.tar.gz
git-88f8576eda2880587fb4487ba469d909dbe35a7b.tar.bz2
pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
When 46af44b07d (pull --rebase=<type>: allow single-letter abbreviations for the type, 2018-08-04) landed in Git, it had the side effect that not only 'pull --rebase=<type>' accepted the single-letter abbreviations but also the 'pull.rebase' and 'branch.<name>.rebase' configurations. However, 'git remote rename' did not honor these single-letter abbreviations when reading the 'branch.*.rebase' configurations. We now document the single-letter abbreviations and both code places share a common function to parse the values of 'git pull --rebase=*', 'pull.rebase', and 'branches.*.rebase'. The only functional change is the handling of the `branch_info::rebase` value. Before it was an unsigned enum, thus the truth value could be checked with `branch_info::rebase != 0`. But `enum rebase_type` is signed, thus the truth value must now be checked with `branch_info::rebase >= REBASE_TRUE` Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'rebase.h')
-rw-r--r--rebase.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/rebase.h b/rebase.h
new file mode 100644
index 0000000..cc723d4
--- /dev/null
+++ b/rebase.h
@@ -0,0 +1,15 @@
+#ifndef REBASE_H
+#define REBASE_H
+
+enum rebase_type {
+ REBASE_INVALID = -1,
+ REBASE_FALSE = 0,
+ REBASE_TRUE,
+ REBASE_PRESERVE,
+ REBASE_MERGES,
+ REBASE_INTERACTIVE
+};
+
+enum rebase_type rebase_parse_value(const char *value);
+
+#endif /* REBASE */