I don't know if it is the right place to post this patch, I have sended an email to the original author apenwarr and have no response. According to <https://github.com/apenwarr/git-subtree/blob/master/THIS-REPO-IS-OBSOLETE>, this is the place, but <https://github.com/git/git/blob/master/contrib/README> says different, which is really confusing. Anyway, here I am.
Recently, I imported a foreign git project as a sub directory into a main repo which I intend to maintain as primary. Due to the project I imported has its own remote repo which hosted on the github, I expected after a 'git-subtree.sh split' the newly generated subtree branch would be exactly identical to the original branch. Unfortunately, it is not. I have fixed the committer date and make everything looks the same with the original branch, but they just did not end up with same commit sha1 hash. Then, I used `git cat-file -p` to view the raw output of the both commits and found that the commit generate by git-subtree has a extra 'new-line' character appended at the end of the subject which causes the problem. I checked the source and found "%s%n%n%b" were used to generate the commit message, this works the fine when a commit has a subject as well as a body, but most of my commits only have a subject under which condition a extra 'new-line' character is appended. Instead, a raw subject and body message modifier '%B' should be used. Though I think this patch should be applied by default, but the mistake has been there for a long time, applying this patch may cause the patched git-subtree generate a different branch for those whose subtree branch has already been generated using the old git-subtree. Maybe this should be explained in the help or man page, and add a condition check or a compatible mode somehow. Techlive Zheng (1): subtree.sh: Use raw subject and body modifier "%B" instead of "%s%n%n%b" contrib/subtree/git-subtree.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 1.7.11.4 -- 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