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.