From: Marcel Holtmann <marcel@holtmann.org>
To: Petr Baudis <pasky@ucw.cz>
Cc: GIT Mailing List <git@vger.kernel.org>
Subject: [PATCH Cogito] Make use of external editor work like CVS
Date: Sun, 08 May 2005 17:02:30 +0200 [thread overview]
Message-ID: <1115564550.9031.96.camel@pegasus> (raw)
[-- Attachment #1: Type: text/plain, Size: 205 bytes --]
Hi Petr,
this is a modified version of my patch that integrates the your latest
modifications to cg-commit and also fixes the cleanup of the temporary
files when we abort the operation.
Regards
Marcel
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 3739 bytes --]
[PATCH] Make use of external editor work like CVS
The lines starting with `CG:' should be a trailer and not at the top
of the message presented in the editor. Also extend the number of `-'
up to 74 characters so that people know when they should start a new
line. If it's not a merge and no commit text is given as parameter
then add an extra empty line at the top. And don't forget to take
care of the temporary files when a commit is unneeded or canceled.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
---
commit 895bcd02ecc96bed1d35275def6dca1ca6f20e5f
tree be440e169fa3b5ec5450fa9574cd8789b0e3ab20
parent 64142a39e7a6701e69654a930de86a9fe296f8a0
author Marcel Holtmann <marcel@holtmann.org> Sun, 08 May 2005 16:58:50 +0200
committer Marcel Holtmann <marcel@holtmann.org> Sun, 08 May 2005 16:58:50 +0200
cg-commit | 63 ++++++++++++++++++++++++++++++++++++--------------------------
1 files changed, 37 insertions(+), 26 deletions(-)
Index: cg-commit
===================================================================
--- 8bb38f8bfdc7411460c300c811da1987173f412f/cg-commit (mode:100755)
+++ be440e169fa3b5ec5450fa9574cd8789b0e3ab20/cg-commit (mode:100755)
@@ -61,26 +61,10 @@
LOGMSG=$(mktemp -t gitci.XXXXXX)
LOGMSG2=$(mktemp -t gitci2.XXXXXX)
-echo CG: ---------------------------------------------------------- >>$LOGMSG
-echo CG: Lines beggining with CG: will be automatically removed >>$LOGMSG
-echo CG: >>$LOGMSG
-if [ ! "$ignorecache" ]; then
- if [ ! "${commitfiles[*]}" ]; then
- echo 'Nothing to commit.' >&2
- exit 2
- fi
- for file in "${commitfiles[@]}"; do
- # Prepend a letter describing whether it's addition,
- # removal or update. Or call git status on those files.
- echo CG: $file >>$LOGMSG
- [ "$msgs" ] && echo $file
- done
- echo CG: >>$LOGMSG
-fi
if [ "$merging" ]; then
- echo -n 'Merge with ' >>$LOGMSG
- [ "$msgs" ] && echo -n 'Merge with '
+ echo -n "Merge with " >>$LOGMSG
+ [ "$msgs" ] && echo -n "Merge with "
[ -s .git/merging-sym ] || cp .git/merging .git/merging-sym
for sym in $(cat .git/merging-sym); do
uri=$(cat .git/branches/$sym)
@@ -88,28 +72,55 @@
echo "$uri" >>$LOGMSG
[ "$msgs" ] && echo "$uri"
done
- echo >>$LOGMSG
+else
+ first=1
fi
-first=1
+
for msg in "${msgs[@]}"; do
if [ "$first" ]; then
first=
else
echo >>$LOGMSG
fi
- echo $msg | fmt >>$LOGMSG
+ echo $msg | fmt -s -w 74 >>$LOGMSG
done
+
+if [ "$first" ]; then
+ echo >>$LOGMSG
+fi
+
+echo "CG: ----------------------------------------------------------------------" >>$LOGMSG
+echo "CG: Enter Log. Lines beginning with \`CG:' are removed automatically" >>$LOGMSG
+if [ ! "$ignorecache" ]; then
+ if [ ! "${commitfiles[*]}" ]; then
+ rm $LOGMSG $LOGMSG2
+ die 'Nothing to commit.'
+ fi
+ echo "CG: " >>$LOGMSG
+ echo "CG: Modified Files:" >>$LOGMSG
+ for file in "${commitfiles[@]}"; do
+ # Prepend a letter describing whether it's addition,
+ # removal or update. Or call git status on those files.
+ echo "CG: $file" >>$LOGMSG
+ [ "$msgs" ] && echo "$file"
+ done
+fi
+echo "CG: ----------------------------------------------------------------------" >>$LOGMSG
+
cp $LOGMSG $LOGMSG2
if tty -s; then
if ! [ "$msgs" ]; then
- ${EDITOR:-vi} $LOGMSG2
- [ $LOGMSG2 -nt $LOGMSG ] || die 'Commit message not modified, commit aborted'
+ ${EDITOR:-vi} $LOGMSG
+ if [ ! $LOGMSG -nt $LOGMSG2 ]; then
+ rm $LOGMSG $LOGMSG2
+ die 'Commit message not modified, commit aborted.'
+ fi
fi
else
- cat >>$LOGMSG2
+ cat >>$LOGMSG
fi
-grep -v ^CG: $LOGMSG2 >$LOGMSG
-rm $LOGMSG2
+grep -v ^CG: $LOGMSG >$LOGMSG2
+mv $LOGMSG2 $LOGMSG
if [ ! "$ignorecache" ]; then
if [ "$customfiles" ]; then
next reply other threads:[~2005-05-08 14:55 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-08 15:02 Marcel Holtmann [this message]
2005-05-08 15:24 ` [PATCH Cogito] Make use of external editor work like CVS Sean
2005-05-08 15:25 ` Petr Baudis
2005-05-08 15:43 ` Marcel Holtmann
2005-05-08 15:56 ` Petr Baudis
2005-05-08 16:15 ` Marcel Holtmann
2005-05-08 17:12 ` Petr Baudis
2005-05-08 17:17 ` Marcel Holtmann
2005-05-08 17:30 ` Petr Baudis
2005-05-08 17:40 ` Marcel Holtmann
2005-05-08 17:51 ` Petr Baudis
2005-05-08 18:57 ` Marcel Holtmann
2005-05-08 20:03 ` Petr Baudis
2005-05-08 20:26 ` Marcel Holtmann
2005-05-08 21:08 ` Petr Baudis
2005-05-08 21:19 ` Marcel Holtmann
2005-05-09 3:28 ` Edgar Toernig
2005-05-09 7:33 ` Petr Baudis
2005-05-08 21:46 ` Sean
2005-05-08 21:43 ` Marcel Holtmann
-- strict thread matches above, loose matches on Subject: below --
2005-05-08 1:10 Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1115564550.9031.96.camel@pegasus \
--to=marcel@holtmann.org \
--cc=git@vger.kernel.org \
--cc=pasky@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.