git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 5/6] builtin-commit: resurrect behavior for multiple -m options

From
Pierre Habouzit <madcoder@debian.org>
Date
Nov 11, 2007, 22:11 UTC
Message-ID
<20071111221134.GD13200@artemis.corp>
In-Reply-To
<Pine.LNX.4.64.0711112039130.4362@racer.site>
On Sun, Nov 11, 2007 at 08:42:48PM +0000, Johannes Schindelin wrote:
Show 42 quoted lines
> Hi,
> 
> On Sun, 11 Nov 2007, Pierre Habouzit wrote:
> 
> > On Sun, Nov 11, 2007 at 05:36:39PM +0000, Johannes Schindelin wrote:
> > > 
> > > When more than one -m option is given, the message does not replace
> > > the previous, but is appended.
> > > 
> > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > > ---
> > >  builtin-commit.c |   26 ++++++++++++++++++++------
> > >  1 files changed, 20 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/builtin-commit.c b/builtin-commit.c
> > > index 66d7e5e..069d180 100644
> > > --- a/builtin-commit.c
> > > +++ b/builtin-commit.c
> > > @@ -30,13 +30,27 @@ static char *use_message_buffer;
> > >  static const char commit_editmsg[] = "COMMIT_EDITMSG";
> > >  static struct lock_file lock_file;
> > >  
> > > -static char *logfile, *force_author, *message, *template_file;
> > > +static char *logfile, *force_author, *template_file;
> > >  static char *edit_message, *use_message;
> > >  static int all, edit_flag, also, interactive, only, amend, signoff;
> > >  static int quiet, verbose, untracked_files, no_verify;
> > >  
> > >  static int no_edit, initial_commit, in_merge;
> > >  const char *only_include_assumed;
> > > +struct strbuf message;
> > 
> >   Unless I'm mistaken `static` keywords are missign for`message` and
> > `only_include_assumed`.
> 
> Oh yeah.  Will fix.
> 
> >   And you _have_ to initialize message with STRBUF_INIT (remember of the
> > slop).
> 
> Not in this case, since I do not use message.buf as long as message.len == 
> 0.  But I agree it would be cleaner to just use STRBUF_INIT.
  I know that you don't use it, but who knows where this code will be
headed in its future right ? :) It's just good practice.
Show 20 quoted lines
> > > +static int opt_parse_m(const struct option *opt, const char *arg, int unset)
> > > +{
> > > +	struct strbuf *buf = opt->value;
> > > +	if (unset)
> > > +		strbuf_setlen(buf, 0);
> > > +	else {
> > > +		strbuf_addstr(buf, arg);
> > > +		strbuf_addch(buf, '\n');
> > > +		strbuf_addch(buf, '\n');
> > > +	}
> > > +	return 0;
> > > +}
> > 
> >   I believe such a callback could live in parse-options.[hc]. The need
> > to aggregate all string arguments into a strbuf looks generic enough to
> > me. Why are you adding two '\n' btw ? Isn't one enough ?
> 
> Well, this empty line is needed to stay backwards compatible.  It was 
> added to pass the test that Junio added to 'next'.  As such, this function 
> is not really generic enough, right?
  Well, you can make it generic enough using the defval to point to a
delimiter to use between lines :) But it's probably an overkill, and yes
if the "\n\n" is to be kept, then it's not generic "enough".
> Well, I meant to mention it in the cover letter.  My preference is to do 
> away with the extra empty line.  But this might break existing setups 
> depending on that behaviour.
  Right.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: Johannes SchindelinNext: Pierre Habouzit
Message 12 of 24 in “Various (replacement) patches to builtin-commit”
  1. 0/6 Various (replacement) patches to builtin-commitJohannes Schindelin, Nov 11, 2007
  2. 1/6 builtin-commit: fix author date with --amend --author=<author>Johannes Schindelin, Nov 11, 2007
  3. Kristian HøgsbergNov 12, 2007
  4. Johannes SchindelinNov 12, 2007
  5. Junio C HamanoNov 13, 2007
  6. 2/6 git status: show relative paths when run in a subdirectoryJohannes Schindelin, Nov 11, 2007
  7. 3/6 builtin-commit: fix --signoffJohannes Schindelin, Nov 11, 2007
  8. 4/6 builtin-commit --s: add a newline if the last line was no S-O-BJohannes Schindelin, Nov 11, 2007
  9. 5/6 builtin-commit: resurrect behavior for multiple -m optionsJohannes Schindelin, Nov 11, 2007
  10. Pierre HabouzitNov 11, 2007
  11. Johannes SchindelinNov 11, 2007
  12. Pierre HabouzitNov 11, 2007
  13. Pierre HabouzitNov 11, 2007
  14. 6/6 builtin-commit: Add newline when showing which commit was createdJohannes Schindelin, Nov 11, 2007
  15. Jeff KingDec 1, 2007
  16. Johannes SchindelinDec 1, 2007
  17. Jeff KingDec 2, 2007
  18. Johannes SchindelinDec 2, 2007
  19. Jeff KingDec 2, 2007
  20. Johannes SchindelinDec 2, 2007
  21. Junio C HamanoDec 2, 2007
  22. Johannes SchindelinDec 2, 2007
  23. Junio C HamanoDec 3, 2007
  24. Jeff KingDec 3, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.