public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
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 03:10:54 +0200	[thread overview]
Message-ID: <1115514654.9031.45.camel@pegasus> (raw)

[-- Attachment #1: Type: text/plain, Size: 171 bytes --]

Hi Petr,

I like to extend the work from Pavel and make the cg-commit really work
like we know it from CVS. Please consider applying the attached patch.

Regards

Marcel


[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 3416 bytes --]

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 via the command
line add an extra empty line at the top.

Signed-off-by: Marcel Holtmann <marcel@holtmann•org>

---
commit ad5cabd7130fc180aed0c364d4014abb49f374b0
tree ca866565063dcd89204e747e8aa0fcb483d14841
parent 09f6584daa060eda641a8e727698f935e0960e9c
author Marcel Holtmann <marcel@holtmann•org> Sun, 08 May 2005 03:03:53 +0200
committer Marcel Holtmann <marcel@holtmann•org> Sun, 08 May 2005 03:03:53 +0200

 cg-commit |   55 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 31 insertions(+), 24 deletions(-)

Index: cg-commit
===================================================================
--- 5d7e8450d626a4e99f8222378a6818d03a797864/cg-commit  (mode:100755)
+++ ca866565063dcd89204e747e8aa0fcb483d14841/cg-commit  (mode:100755)
@@ -61,24 +61,9 @@
 
 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
-	done
-	echo CG: >>$LOGMSG
-fi
 
 if [ "$merging" ]; then
-	echo -n 'Merge with ' >>$LOGMSG
+	echo -n "Merge with " >>$LOGMSG
 	[ -s .git/merging-sym ] || cp .git/merging .git/merging-sym
 	for sym in $(cat .git/merging-sym); do
 		uri=$(cat .git/branches/$sym)
@@ -86,28 +71,50 @@
 		echo "$uri" >>$LOGMSG
 		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
+		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
+	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
+		[ $LOGMSG -nt $LOGMSG2 ] || die 'Commit message not modified, commit aborted.'
 	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

             reply	other threads:[~2005-05-08  1:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-08  1:10 Marcel Holtmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2005-05-08 15:02 [PATCH Cogito] Make use of external editor work like CVS Marcel Holtmann
2005-05-08 15:24 ` 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

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=1115514654.9031.45.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