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

Re: [PATCH 1/3] status: add status.aheadbehind setting

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 21, 2019, 16:33 UTC
Message-ID
<xmqqzhmakidw.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<2f0f2a2df9410947b985d83a924d2549d62bb65f.1560889284.git.gitgitgadget@gmail.com>
"Jeff Hostetler via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 33 quoted lines
> From: Jeff Hostetler <jeffhost@microsoft.com>
>
> The --[no-]ahead-behind option was introduced in fd9b544a
> (status: add --[no-]ahead-behind to status and commit for V2
> format, 2018-01-09). This is a necessary change of behavior
> in repos where the remote tracking branches can move very
> quickly ahead of the local branches. However, users need to
> remember to provide the command-line argument every time.
>
> Add a new "status.aheadBehind" config setting to change the
> default behavior of all git status formats.
>
> Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
> Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
> ---
>  Documentation/config/status.txt |  5 +++++
>  builtin/commit.c                | 17 ++++++++++++++++-
>  t/t6040-tracking-info.sh        | 31 +++++++++++++++++++++++++++++++
>  t/t7064-wtstatus-pv2.sh         |  4 ++++
>  4 files changed, 56 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/config/status.txt b/Documentation/config/status.txt
> index ed72fa7dae..0fc704ab80 100644
> --- a/Documentation/config/status.txt
> +++ b/Documentation/config/status.txt
> @@ -12,6 +12,11 @@ status.branch::
>  	Set to true to enable --branch by default in linkgit:git-status[1].
>  	The option --no-branch takes precedence over this variable.
>  
> +status.aheadBehind::
> +	Set to true to enable `--ahead-behind` and false to enable
> +	`--no-ahead-behind` by default in linkgit:git-status[1] for
> +	non-porcelain status formats.  Defaults to true.
Sensible.
Show 10 quoted lines
> @@ -1078,9 +1078,11 @@ static const char *read_commit_message(const char *name)
>  static struct status_deferred_config {
>  	enum wt_status_format status_format;
>  	int show_branch;
> +	enum ahead_behind_flags ahead_behind;
>  } status_deferred_config = {
>  	STATUS_FORMAT_UNSPECIFIED,
> -	-1 /* unspecified */
> +	-1, /* unspecified */
> +	AHEAD_BEHIND_UNSPECIFIED,

This obviously is not a problem introduced by this patch, but is there a plan to extend this beyond a boolean?

Otherwise, a separate enum is way overkill. Naming the field so that it is clear it is either true or false (e.g. perhaps call it "ahead_behind_detailed" as the current "QUICK" is merely "are they equal?" which corresponds to "false", and "FULL" is to show the detailed info), and then use the usual "-1 is unspecified, 0 and 1 are usual bools" convention would be more appropriate.

Previous: Jeff Hostetler via GitGitGadgetNext: Jeff Hostetler
Message 3 of 7 in “git-status: create config for ahead/behind calculation”
  1. 0/3 git-status: create config for ahead/behind calculationDerrick Stolee via GitGitGadget, Jun 18, 2019
  2. 1/3 status: add status.aheadbehind settingJeff Hostetler via GitGitGadget, Jun 18, 2019
  3. Junio C HamanoJun 21, 2019
  4. Jeff HostetlerJun 26, 2019
  5. SZEDER GáborJun 29, 2019
  6. 3/3 status: ignore status.aheadbehind in porcelain formatsJeff Hostetler via GitGitGadget, Jun 18, 2019
  7. 2/3 status: warn when a/b calculation takes too longJeff Hostetler via GitGitGadget, Jun 18, 2019

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.