All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Thomas Gummerer <t.gummerer@gmail.com>
Cc: git@vger.kernel.org, "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
	"Eric Sunshine" <sunshine@sunshineco.com>,
	"Randall S. Becker" <rsbecker@nexbridge.com>,
	"Paul Smith" <paul@mad-scientist.net>
Subject: Re: [PATCH v5 6/6] add worktree.guessRemote config option
Date: Mon, 27 Nov 2017 15:45:06 +0900	[thread overview]
Message-ID: <xmqq8tescj9p.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20171126194356.16187-7-t.gummerer@gmail.com> (Thomas Gummerer's message of "Sun, 26 Nov 2017 19:43:56 +0000")

Thomas Gummerer <t.gummerer@gmail.com> writes:

> +worktree.guessRemote::
> +	With `add`, if no branch argument, and neither of `-b` nor
> +	`-B` nor `--detach` are given, the command defaults to
> +	creating a new branch from HEAD.  If `worktree.guessRemote` is
> +	set to true, `worktree add` tries to find a remote-tracking
> +	branch whose name uniquely matches the new branch name.  If
> +	such a branch exists, it is checked out and set as "upstream"
> +	for the new branch.  If no such match can be found, it falls
> +	back to creating a new branch from the current HEAD.

Unlike the part I commented on in the previous step, this one is
clear that the feature only kicks in for 'add <path>' without
anything else, which is good.

> diff --git a/builtin/worktree.c b/builtin/worktree.c
> index 15cb1600ee..426aea8761 100644
> --- a/builtin/worktree.c
> +++ b/builtin/worktree.c
> @@ -33,8 +33,19 @@ struct add_opts {
>  
>  static int show_only;
>  static int verbose;
> +static int guess_remote;
>  static timestamp_t expire;
>  
> +static int git_worktree_config(const char *var, const char *value, void *cb)
> +{
> +	if (!strcmp(var, "worktree.guessremote")) {
> +		guess_remote = git_config_bool(var, value);
> +		return 0;
> +	}
> +
> +	return 0;
> +}
> +

It is a lot more consistent with the established practice if this
function had

	return git_default_config(var, value, cb);

instead of "return 0" at the end, and then have the call to

	git_config(git_default_config, NULL);

we have in cmd_worktree() replaced with

	git_config(git_worktree_config, NULL);

That would avoid having to scan the entire set of config keys once
in cmd_worktree() and then again in add(), the latter one only
looking for a single variable.

  reply	other threads:[~2017-11-27  6:45 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailto:20171118224706.13810-1-t.gummerer@gmail.com>
2017-11-22 22:30 ` [PATCH v4 0/4] make git worktree add dwim more Thomas Gummerer
2017-11-22 22:30   ` [PATCH v4 1/4] checkout: factor out functions to new lib file Thomas Gummerer
2017-11-24  6:47     ` Junio C Hamano
2017-11-22 22:30   ` [PATCH v4 2/4] worktree: add --[no-]track option to the add subcommand Thomas Gummerer
2017-11-24  6:57     ` Junio C Hamano
2017-11-25 16:58       ` Thomas Gummerer
2017-11-22 22:30   ` [PATCH v4 3/4] worktree: make add <path> <branch> dwim Thomas Gummerer
2017-11-24  6:59     ` Junio C Hamano
2017-11-22 22:30   ` [PATCH v4 4/4] worktree: make add <path> dwim Thomas Gummerer
2017-11-24  7:11     ` Junio C Hamano
2017-11-25 17:50       ` Thomas Gummerer
2017-11-25 18:26         ` Paul Smith
2017-11-25 20:06           ` Thomas Gummerer
2017-11-25 20:39             ` Randall S. Becker
2017-11-25 21:48               ` Thomas Gummerer
2017-11-25 23:11             ` Paul Smith
2017-11-26  3:35         ` Junio C Hamano
2017-11-26 11:37           ` Thomas Gummerer
2017-11-26 19:43   ` [PATCH v5 0/6] make git worktree add dwim more Thomas Gummerer
2017-11-26 19:43     ` [PATCH v5 1/6] checkout: factor out functions to new lib file Thomas Gummerer
2017-11-26 19:43     ` [PATCH v5 2/6] worktree: add can be created from any commit-ish Thomas Gummerer
2017-11-26 19:43     ` [PATCH v5 3/6] worktree: add --[no-]track option to the add subcommand Thomas Gummerer
2017-11-26 19:43     ` [PATCH v5 4/6] worktree: make add <path> <branch> dwim Thomas Gummerer
2017-11-26 19:43     ` [PATCH v5 5/6] worktree: add --guess-remote flag to add subcommand Thomas Gummerer
2017-11-27  6:36       ` Junio C Hamano
2017-11-27 20:56         ` Thomas Gummerer
2017-11-26 19:43     ` [PATCH v5 6/6] add worktree.guessRemote config option Thomas Gummerer
2017-11-27  6:45       ` Junio C Hamano [this message]
2017-11-27 20:59         ` Thomas Gummerer
2017-11-29 20:04     ` [PATCH v6 0/6] make git worktree add dwim more Thomas Gummerer
2017-11-29 20:04       ` [PATCH v6 1/6] checkout: factor out functions to new lib file Thomas Gummerer
2017-11-29 20:04       ` [PATCH v6 2/6] worktree: add can be created from any commit-ish Thomas Gummerer
2017-11-29 20:04       ` [PATCH v6 3/6] worktree: add --[no-]track option to the add subcommand Thomas Gummerer
2017-11-29 20:04       ` [PATCH v6 4/6] worktree: make add <path> <branch> dwim Thomas Gummerer
2017-11-29 20:04       ` [PATCH v6 5/6] worktree: add --guess-remote flag to add subcommand Thomas Gummerer
2017-11-29 20:04       ` [PATCH v6 6/6] add worktree.guessRemote config option Thomas Gummerer

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=xmqq8tescj9p.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=paul@mad-scientist.net \
    --cc=pclouds@gmail.com \
    --cc=rsbecker@nexbridge.com \
    --cc=sunshine@sunshineco.com \
    --cc=t.gummerer@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.