From: Marcel Holtmann <marcel@holtmann.org>
To: Petr Baudis <pasky@ucw.cz>
Cc: GIT Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH Cogito] Make use of external editor work like CVS
Date: Sun, 08 May 2005 22:26:55 +0200 [thread overview]
Message-ID: <1115584015.8949.43.camel@pegasus> (raw)
In-Reply-To: <20050508200334.GG9495@pasky.ji.cz>
Hi Petr,
> > look at the attached patch. We should use "fmt -s" to keep newlines that
> > are inside the commit message and there is one unneeded empty CG: line.
>
> thanks, fixed and pushed out.
cool. Now I have everything I am used to from CVS, but ...
@@ -113,7 +113,9 @@
# TODO: 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
+ if [ "$msgs" ] && ! [ "$forceeditor" ]; then
+ echo $file
+ fi
done
fi
There is no need to print out the files if we start the editor anyway.
@@ -122,10 +124,10 @@
if tty -s; then
if ! [ "$msgs" ] || [ "$forceeditor" ]; then
${EDITOR:-vi} $LOGMSG2
- fi
- if ! [ "$msgs" ] && ! [ $LOGMSG2 -nt $LOGMSG ]; then
- rm $LOGMSG $LOGMSG2
- die 'Commit message not modified, commit aborted'
+ if ! [ $LOGMSG2 -nt $LOGMSG ]; then
+ rm $LOGMSG $LOGMSG2
+ die 'Commit message not modified, commit aborted'
+ fi
fi
else
If you provide a commit message via -m and then close the editor without
changing it, it will commit the message. I think that will not be the
intention of the user.
> > I also put back in the "mess", because if there is no commit message
> > provided via -m it gives us an initial empty line to start in. This is
> > the same that CVS does and it makes the life inside vi a lot more
> > easier.
>
> Well, I use 'O' to start editing. ;-) (Actually, I use the -m arguments
> extensively; the way it is now is how I always dreamt of it since I
> started using SCMs. Possibly in conjuction with -e to add some fancy
> stuff.)
>
> Your way might be cunning, fast, or even clever, but it was certainly
> not clear, therefore not maintainable well. I tried to implement it in a
> simpler and more clear way. Does it behave as you want now?
What should I say ;)
I will do a little bit more tests, but it looks very good. Besides the
stuff above.
> > > > If you want the extra newline(s) then it is a good idea to add something
> > > > that strips heading and trailing empty lines from the final commit
> > > > message, because otherwise it will be ugly if you don't enter extra text
> > > > for the merge.
> > >
> > > Isn't that what I initially suggested? :-)
> >
> > But this hasn't been done so far. And I don't know any shell tool for
> > this job, beside some crazy awk or sed stuff. However stripspace.c from
> > git-tools can do this job.
>
> #/bin/sh
>
> leading=1
> emptylines=0
> while read line; do
> if ! [ "$line" ]; then
> [ "$leading" ] && continue
> emptylines=$(($emptylines + 1))
> else
> leading=0
> while [ $emptylines -gt 0 ]; do
> echo ""
> emptylines=$(($emptylines - 1))
> done
> echo $line
> fi
> done
>
> or something? (Based on someone else's script since I was too lazy. ;-)
I am not that script expert anymore. I do most stuff in C now and I am
very happy with it. Maybe someone else comes up with a clever way to
handle the following case:
/*
* Remove empty lines from the beginning and end.
*
* Turn multiple consecutive empty lines into just one
* empty line.
*/
Regards
Marcel
next prev parent reply other threads:[~2005-05-08 20:27 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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=1115584015.8949.43.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).