Without this when maintaining stable branches it's easy to forget to use
-x to track where a patch was cherry-picked from.

Signed-off-by: Guido Günther <a...@sigxcpu.org>
---
 Documentation/git-cherry-pick.txt |  8 ++++++++
 builtin/revert.c                  | 10 ++++++++++
 2 files changed, 18 insertions(+)

diff --git a/Documentation/git-cherry-pick.txt 
b/Documentation/git-cherry-pick.txt
index c205d23..c35064f 100644
--- a/Documentation/git-cherry-pick.txt
+++ b/Documentation/git-cherry-pick.txt
@@ -215,6 +215,14 @@ the working tree.
 spending extra time to avoid mistakes based on incorrectly matching
 context lines.
 
+CONFIGURATION
+-------------
+
+See linkgit:git-config[1] for core variables.
+
+cherrypick.record-origin::
+       Default for the `-x` option. Defaults to `false`.
+
 SEE ALSO
 --------
 linkgit:git-revert[1]
diff --git a/builtin/revert.c b/builtin/revert.c
index 87659c9..df9718f 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -196,6 +196,15 @@ int cmd_revert(int argc, const char **argv, const char 
*prefix)
        return res;
 }
 
+static int git_cherry_pick_config(const char *var, const char *value, void *cb)
+{
+       struct replay_opts *opts = cb;
+
+       if (!strcmp(var, "cherrypick.record-origin"))
+               opts->record_origin = git_config_bool (var, value);
+       return 0;
+}
+
 int cmd_cherry_pick(int argc, const char **argv, const char *prefix)
 {
        struct replay_opts opts;
@@ -204,6 +213,7 @@ int cmd_cherry_pick(int argc, const char **argv, const char 
*prefix)
        memset(&opts, 0, sizeof(opts));
        opts.action = REPLAY_PICK;
        git_config(git_default_config, NULL);
+       git_config(git_cherry_pick_config, &opts);
        parse_args(argc, argv, &opts);
        res = sequencer_pick_revisions(&opts);
        if (res < 0)
-- 
1.9.0.rc3
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to