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$(echo .)org \
--cc=git@vger$(echo .)kernel.org \
--cc=pasky@ucw$(echo .)cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox