Change (undocumented) git commit -f option from a synonym for git-commit -F
to "Take the commit message from the given file, and remove the file upon
successful commit".
git-revert and git-cherry-pick should make use of this to properly cleanup
the automatically created ./.msg file.
Signed-off-by: Gerrit Pape <pape@smarden.org>
---
Documentation/git-commit.txt | 7 ++++---
git-commit.sh | 25 +++++++++++++++++++++++--
2 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 53a7bb0..da68c81 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -9,7 +9,7 @@ SYNOPSIS
--------
[verse]
'git-commit' [-a | --interactive] [-s] [-v]
- [(-c | -C) <commit> | -F <file> | -m <msg> | --amend]
+ [(-c | -C) <commit> | (-F | -f) <file> | -m <msg> | --amend]
[--no-verify] [-e] [--author <author>]
[--] [[-i | -o ]<file>...]
@@ -63,9 +63,10 @@ OPTIONS
invoked; with '-c' the user can further edit the commit
message.
--F <file>::
+-F or -f <file>::
Take the commit message from the given file. Use '-' to
- read the message from the standard input.
+ read the message from the standard input. With '-f', the
+ file is removed upon successful commit; with '-F' not.
--author <author>::
Override the author name used in the commit. Use
diff --git a/git-commit.sh b/git-commit.sh
index f28fc24..e4518c4 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -74,6 +74,7 @@ also=
interactive=
only=
logfile=
+logfile_rm=
use_commit=
amend=
edit_flag=
@@ -90,15 +91,31 @@ untracked_files=
while case "$#" in 0) break;; esac
do
case "$1" in
- -F|--F|-f|--f|--fi|--fil|--file)
+ -f)
case "$#" in 1) usage ;; esac
shift
no_edit=t
log_given=t$log_given
logfile="$1"
+ test "$logfile" = '-' || logfile_rm=1
shift
;;
- -F*|-f*)
+ -F|--F|--f|--fi|--fil|--file)
+ case "$#" in 1) usage ;; esac
+ shift
+ no_edit=t
+ log_given=t$log_given
+ logfile="$1"
+ shift
+ ;;
+ -f*)
+ no_edit=t
+ log_given=t$log_given
+ logfile=`expr "z$1" : 'z-[Ff]\(.*\)'`
+ test "$logfile" = '-' || logfile_rm=1
+ shift
+ ;;
+ -F*)
no_edit=t
log_given=t$log_given
logfile=`expr "z$1" : 'z-[Ff]\(.*\)'`
@@ -653,6 +670,10 @@ then
--summary --root HEAD --`
echo "Created${initial_commit:+ initial} commit $commit"
fi
+ if test -n "$logfile_rm"
+ then
+ rm -f "$logfile"
+ fi
fi
exit "$ret"
--
1.5.1.2
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html| Benjamin Herrenschmidt | Re: [linux-pm] [PATCH] Remove process freezer from suspend to RAM pathway |
| Ulrich Drepper | Re: [patch 7/8] fdmap v2 - implement sys_socket2 |
| Washington Odhiambo | Weird Problem with NAT - more details |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Frans Pop | svc: failed to register lockdv1 RPC service (errno 97). |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
| David Miller | Re: [GIT]: Networking |
