Without this when maintaining stable branches it's easy to forget to use -x to track where a patch was cherry-picked from. --- Documentation/config.txt | 4 ++++ Documentation/git-cherry-pick.txt | 8 ++++++++ builtin/revert.c | 14 +++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index 5f4d793..a47d045 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -794,6 +794,10 @@ browser.<tool>.path:: browse HTML help (see '-w' option in linkgit:git-help[1]) or a working repository in gitweb (see linkgit:git-instaweb[1]). +cherrypick.recordOrigin:: + When cherry picking patches record the sha1 of the original + commit in the commit message. Defaults to `false`. + clean.requireForce:: A boolean to make git-clean do nothing unless given -f, -i or -n. Defaults to true. diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt index c205d23..c0274bd 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.recordOrigin:: + 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..0c14af4 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -196,6 +196,18 @@ 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.recordorigin")) { + opts->record_origin = git_config_bool (var, value); + return 0; + } else { + return git_config(git_default_config, NULL); + } +} + int cmd_cherry_pick(int argc, const char **argv, const char *prefix) { struct replay_opts opts; @@ -203,7 +215,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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html