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

Re: [PATCH 6/7] Export rerere() and launch_editor().

From
Kristian Høgsberg <krh@redhat.com>
Date
Sep 21, 2007, 18:01 UTC
Message-ID
<1190397678.31494.57.camel@hinata.boston.redhat.com>
In-Reply-To
<7vr6kunrh7.fsf@gitster.siamese.dyndns.org>
On Wed, 2007-09-19 at 16:52 -0700, Junio C Hamano wrote:
Show 71 quoted lines
> Kristian Høgsberg <krh@redhat.com> writes:
> 
> > +/* Export for builtin-commit. */
> > +int rerere(void)
> > +{
> > +	struct path_list merge_rr = { NULL, 0, 0, 1 };
> > +	int fd;
> > +
> > +	git_config(git_rerere_config);
> > +	if (!is_rerere_enabled())
> > +		return 0;
> > +
> > +	merge_rr_path = xstrdup(git_path("rr-cache/MERGE_RR"));
> > +	fd = hold_lock_file_for_update(&write_lock, merge_rr_path, 1);
> > +	read_rr(&merge_rr);
> > +	return do_plain_rerere(&merge_rr, fd);
> > +}
> 
> Is it just me who sees a suboptimal cut and paste here?
> 
> BTW, [1-5/7] look good so far.
> 
> diff --git a/builtin-rerere.c b/builtin-rerere.c
> index 29d057c..2f51ae0 100644
> --- a/builtin-rerere.c
> +++ b/builtin-rerere.c
> @@ -415,18 +415,39 @@ static int is_rerere_enabled(void)
>  	return 1;
>  }
>  
> -int cmd_rerere(int argc, const char **argv, const char *prefix)
> +static int setup_rerere(struct path_list *merge_rr)
>  {
> -	struct path_list merge_rr = { NULL, 0, 0, 1 };
> -	int i, fd = -1;
> +	int fd;
>  
>  	git_config(git_rerere_config);
>  	if (!is_rerere_enabled())
> -		return 0;
> +		return -1;
>  
>  	merge_rr_path = xstrdup(git_path("rr-cache/MERGE_RR"));
>  	fd = hold_lock_file_for_update(&write_lock, merge_rr_path, 1);
> -	read_rr(&merge_rr);
> +	read_rr(merge_rr);
> +	return fd;
> +}
> +
> +int rerere(void)
> +{
> +	struct path_list merge_rr = { NULL, 0, 0, 1 };
> +	int fd;
> +
> +	fd = setup_rerere(&merge_rr);
> +	if (fd < 0)
> +		return 0;
> +	return do_plain_rerere(&merge_rr, fd);
> +}
> +
> +int cmd_rerere(int argc, const char **argv, const char *prefix)
> +{
> +	struct path_list merge_rr = { NULL, 0, 0, 1 };
> +	int i, fd;
> +
> +	fd = setup_rerere(&merge_rr);
> +	if (fd < 0)
> +		return 0;
>  
>  	if (argc < 2)
>  		return do_plain_rerere(&merge_rr, fd);
That looks better, yes.
Kristian
Previous: Junio C HamanoNext: Johannes Schindelin
Message 16 of 18 in “Enable wt-status output to a given FILE pointer.”
  1. 1/7 Enable wt-status output to a given FILE pointer.Kristian Høgsberg, Sep 18, 2007
  2. 2/7 Enable wt-status to run against non-standard index file.Kristian Høgsberg, Sep 18, 2007
  3. 3/7 Introduce entry point for launching add--interactive.Kristian Høgsberg, Sep 18, 2007
  4. 4/7 Clean up stripspace a bit, use strbuf even more.Kristian Høgsberg, Sep 18, 2007
  5. 5/7 Add strbuf_read_file().Kristian Høgsberg, Sep 18, 2007
  6. 6/7 Export rerere() and launch_editor().Kristian Høgsberg, Sep 18, 2007
  7. 7/7 Implement git commit as a builtin command.Kristian Høgsberg, Sep 18, 2007
  8. Johannes SchindelinSep 18, 2007
  9. Kristian HøgsbergSep 18, 2007
  10. Junio C HamanoSep 20, 2007
  11. Kristian HøgsbergSep 21, 2007
  12. Junio C HamanoSep 21, 2007
  13. Kristian HøgsbergSep 24, 2007
  14. Johannes SchindelinSep 18, 2007
  15. Junio C HamanoSep 19, 2007
  16. Kristian HøgsbergSep 21, 2007
  17. Johannes SchindelinSep 18, 2007
  18. Kristian HøgsbergSep 18, 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.