git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Christian Couder <christian.couder@gmail.com>
To: "Torsten Bögershausen" <tboegi@web.de>
Cc: git <git@vger.kernel.org>, "Junio C Hamano" <gitster@pobox.com>,
	"Jeff King" <peff@peff.net>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Nguyen Thai Ngoc Duy" <pclouds@gmail.com>,
	"David Turner" <dturner@twopensource.com>,
	"Eric Sunshine" <sunshine@sunshineco.com>,
	"Christian Couder" <chriscool@tuxfamily.org>
Subject: Re: [RFC/PATCH 8/8] update-index: make core.untrackedCache a bool
Date: Mon, 7 Dec 2015 11:32:40 +0100	[thread overview]
Message-ID: <CAP8UFD3j01UhkGz_Hk=xrLppmz7uLqCvtCDLygXfY=crhUZzFg@mail.gmail.com> (raw)
In-Reply-To: <5662DC2C.8030009@web.de>

(Sorry I already sent a private reply to Tosten by mistake.)

On Sat, Dec 5, 2015 at 1:44 PM, Torsten Bögershausen <tboegi@web.de> wrote:
> On 01.12.15 21:31, Christian Couder wrote:
>> Most features in Git can be enabled or disabled using a simple
>> bool config variable and it would be nice if untracked cache
>> behaved the same way.
>>
>> This makes --[no-|force-]untracked-cache change the value of
>> core.untrackedCache in the repo config file, to avoid making
>> those options useless and because this avoids the untracked
>> cache being disabled by a kernel change or a directory
>> change. Of course this breaks some backward compatibility,
>> but the simplification and increased useability is worth it.
>
> Some loose thinking, how the core.untrackedcache and the
> command line can work together:
>
> core.untrackedcache = unset
>   everything is as today
>   if --test-untracked-cache is used on command line,
>   the test is run, additionally the result is stored
>   in the config variable core.untrackedcache

I don't like storing the result in core.untrackedcache as it means
that --test-untracked-cache would not just test.
And I agree with Aevar that it's a good thing to be able to completely
separate testing and configuring.

> core.untrackedcache = true
>   same as --force-untracked-cache
>   if --no-untracked-cache is given on command line,
>   this has higher priority

I guess you mean that --no-untracked-cache has priority over
"core.untrackedcache = true" without removing this config variable.
This means that --no-untracked-cache would only remove the untracked
cache (UC) from the index.

But what git should then do the next time "git status" is run?
Git sees that the index does not contain any UC, but it doesn't know
that "git update-index --no-untracked-cache" has just been run. It
might be "git config core.untrackedcache true" that has been run last.

If "git config core.untrackedcache true" has been run last, it would
be logical to add the UC to the index and use it.
If "git update-index --no-untracked-cache" has been run last, it would
be logical to not add the UC.

> core.untrackedcache = false
>   same as --no-untracked-cache
>   if --force-untracked-cache is given on command line,
>   this has higher priority

Then the same kind of problem happens as above. There is no clear
solution about what "git status" should do when the state of the index
conflicts with the value of core.untrackedcache.

> Does this support the workflow described by Ævar ?

I don't think so. I think that when we set "core.untrackedcache =
true" we want the UC to be added to the index and used as much as
possible, because we know that our OS/filesystem supports it.

This means that using "git update-index --no-untracked-cache" when
"core.untrackedcache = true" is set can only have two possible
outcomes. It could either just die saying that "core.untrackedcache"
is true, or it could just unset "core.untrackedcache" or set it to
false (which might mean the same thing).

      reply	other threads:[~2015-12-07 10:32 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-01 20:31 [RFC/PATCH 0/8] Untracked cache improvements Christian Couder
2015-12-01 20:31 ` [RFC/PATCH 1/8] update-index: add untracked cache notifications Christian Couder
2015-12-02 19:16   ` Duy Nguyen
2015-12-07  9:08     ` Christian Couder
2015-12-07  9:12       ` Duy Nguyen
2015-12-01 20:31 ` [RFC/PATCH 2/8] update-index: add --test-untracked-cache Christian Couder
2015-12-02 19:17   ` Duy Nguyen
2015-12-07  6:18     ` Christian Couder
2015-12-01 20:31 ` [RFC/PATCH 3/8] update-index: move 'uc' var declaration Christian Couder
2015-12-01 20:31 ` [RFC/PATCH 4/8] dir: add add_untracked_cache() Christian Couder
2015-12-01 20:31 ` [RFC/PATCH 5/8] dir: add remove_untracked_cache() Christian Couder
2015-12-01 20:31 ` [RFC/PATCH 6/8] config: add core.untrackedCache Christian Couder
2015-12-02  7:12   ` Torsten Bögershausen
2015-12-02 10:32     ` Ævar Arnfjörð Bjarmason
2015-12-03 16:10       ` Torsten Bögershausen
2015-12-03 16:35         ` Christian Couder
2015-12-04 17:54       ` Torsten Bögershausen
2015-12-04 19:44         ` Christian Couder
2015-12-01 20:31 ` [RFC/PATCH 7/8] update-index: prevent --untracked-cache from performing tests Christian Couder
2015-12-02 19:18   ` Duy Nguyen
2015-12-07  5:40     ` Christian Couder
2015-12-01 20:31 ` [RFC/PATCH 8/8] update-index: make core.untrackedCache a bool Christian Couder
2015-12-05 12:44   ` Torsten Bögershausen
2015-12-07 10:32     ` Christian Couder [this message]

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP8UFD3j01UhkGz_Hk=xrLppmz7uLqCvtCDLygXfY=crhUZzFg@mail.gmail.com' \
    --to=christian.couder@gmail.com \
    --cc=avarab@gmail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=dturner@twopensource.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=sunshine@sunshineco.com \
    --cc=tboegi@web.de \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).