commit: save commit message so it's not destroyed by rollback.
(
issue1635)
Rationale: if a pretxncommit hook rejects this commit, the transaction
is rolled back and the user's commit message is irrevocably lost.
So save a copy in .hg/last-message.txt, just in case. Also handy if
the user deliberately rolls back a commit in order to amend it.
% create test repository
adding a
adding b
adding c
% churn separate directories
user1 1 ***************************************************************
% churn all
user3 3 ***************************************************************
user1 3 ***************************************************************
user2 2 ******************************************
% churn up to rev 2
user2 2 ***************************************************************
user1 1 ********************************
% churn with aliases
alias3 3 **************************************************************
alias1 3 **************************************************************
user2 2 *****************************************
% churn with .hgchurn
alias3 3 **************************************************************
alias1 3 **************************************************************
user2 2 *****************************************
% churn with column specifier
user3 3 ***********************
user1 3 ***********************
user2 2 ***************
% churn by hour
06 1 *****************
09 2 *********************************
12 4 ******************************************************************
13 1 *****************
% churn with separated added/removed lines
user1 +3/-1 +++++++++++++++++++++++++++++++++++++++++--------------
user3 +3/-0 +++++++++++++++++++++++++++++++++++++++++
user2 +2/-0 +++++++++++++++++++++++++++
% changeset number churn
user1 4 ***************************************************************
user3 3 ***********************************************
user2 2 ********************************
adding foo
test 0