This is a re-roll of http://article.gmane.org/gmane.comp.version-control.git/286873 It is almost a rewrite of v1, Changes include: - Make commit_patch_id() a publib helper function, so it can be available to other modules. - The new option "--base" will not only record the base commit id(a public well-known commit), but also the prerequisite patches's patch ids, then the 0day test robot could get these info, thus to checkout the well-known base tree-ish, apply the prerequisite patches and then the patches being send can be applied to correct tree to be evaluated. (0day catches every patch series to LKML and maintains a patch-id => commit-id database for in-flight patches.) - For developers' convenience, we propose a new format.base configuration to track the base commit automatically, if current branch the developer work on has its remote-tracking branch, the base commit would be the tip commit of the remote branch, if current branch is not tracked with any remote branch(eg. checkout by a local branch or a commit), thus its upstream could not be obtained, it will just record the parent commit-id of the patch series, as well as patch-id for reference. so here is the text UI: 1) for the cases that exact base commit could be obtained(eithor from manual input --base=<base-commit-id> or from upstream if base=auto is set) ** base-commit-info ** base-commit: ab5d01a29eb7380ceab070f0807c2939849c44bc prerequisite-patch-id: 61400f965fdc0c2fbe8ad9cb5316c3efe6e05c14 prerequisite-patch-id: 063a398ef398647d8d839e6f9090d38ea9e0551c 2) for cases that exact base commit is failed to obtained ** parent-commit-info ** parent-commit: ab5d01a29eb7380ceab070f0807c2939849c44bc parent-patch-id: caf2dae24db5b4c49a6c4134dd6d9908e898424b Thanks for fengguang and junio's suggestions and prototype of implementation. Thanks, Xiaolong. Xiaolong Ye (4): patch-ids: make commit_patch_id() a public helper function format-patch: add '--base' option to record base tree info format-patch: introduce --base=auto option format-patch: introduce format.base configuration Documentation/git-format-patch.txt | 20 ++++++ builtin/log.c | 137 +++++++++++++++++++++++++++++++++++++ patch-ids.c | 2 +- patch-ids.h | 2 + 4 files changed, 160 insertions(+), 1 deletion(-) -- 2.8.0.rc4.4.ga41a987 ** base-commit-info ** base-commit: 808ecd4cca75acac5e4868f15d3e647fc73698d3 -- 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