Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > In that rewrite, removing some temporary files seems to have been left > out. At least one: .git/COMMIT_EDITMSG. > > In the original commit.sh shell script, we can find this: > > rm -f "$GIT_DIR/COMMIT_MSG" "$GIT_DIR/COMMIT_EDITMSG" "$GIT_DIR/SQUASH_MSG" > > after creating the commit. In the C implementation, we do have a > number of "unlink(...)" calls: > ... > > but no > > unlink(git_path_commit_editmsg()); > > and that *seems* to be an oversight. > > Similarly, builtin/tag,c leaves a stale TAG_EDITMSG file behind. > Again, that actually did exist in the original shell script, which > used to do > > trap 'rm -f "$GIT_DIR"/TAG_TMP* "$GIT_DIR"/TAG_FINALMSG > "$GIT_DIR"/TAG_EDITMSG' 0 > > which caused that file to be removed at exit. I do not think it was intentional---just a bug in the rewrite.