git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Couder <christian.couder@gmail.com>
To: git@vger.kernel.org
Cc: "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>,
	"Torsten Bögershausen" <tboegi@web.de>,
	"Christian Couder" <chriscool@tuxfamily.org>
Subject: [PATCH v5 00/11] Untracked cache improvements
Date: Fri, 15 Jan 2016 07:59:41 +0100	[thread overview]
Message-ID: <1452841192-620-1-git-send-email-chriscool@tuxfamily.org> (raw)

Here is a new version of a patch series to improve the untracked cache
feature.

This v5 implements core.untrackedCache as a tristate config
variable. When it's `true`, Git commands, especially `git status`,
should always add the untracked cache and use it, and when `false`,
Git commands should remove it. The default is `keep` in which case the
untracked cache is neither removed nor added, and used if it is there.

Patch 1/11 is a small bugfix that has not changed.

Patch 2/11 to 4/11 add some small features that are missing. There are
no changes compared to v4.

Patchs 5/11 to 7/11 are some refactoring to prepare for the following
patchs. The interface of the new functions has changed as they are now
passed a "struct index_state *istate" parameter on which they will
operate instead of modifying "the_index".

Patch 8/11 deals with the "ident" field in "struct
untracked_cache". Following Torsten and Junio's suggestions, the
differences compared to v4 are the following:

	- we store only the kernel "sysname" and not the full kernel version,
	- we match the full "ident" string instead of just the beginning of the string,
	- a warning has been improved.

Patch 9/11 adds core.untrackedCache. Following Junio's suggestions, it
has been changed compared to v4 in the following ways:

  - we don't die() and we exit 0, if "git update-index
  --[no-|force-]untracked-cache" is used in a way that goes against
  the value of core.untrackedCache,

  - we add or remove the untracked cache in read_index_from() instead
    of wt_status_collect_untracked().

Patch 10/11 is a new hack that is needed to have
test-dump-untracked-cache work like it used to, now that we add or
remove the untracked cache in read_index_from(). Because
test-dump-untracked-cache indirectly calls read_index_from(), we have
to prevent it from addind or removing the untracked cache.

Patch 11/11, which contains tests, has been changed to reflect changes
in 9/11.

So the changes compared to v4 are mostly small updates, and patchs
8/11, 9/11 and 10/11.

The patch series is also available there:

https://github.com/chriscool/git/tree/uc-notifs63

Thanks to the reviewers and helpers.


Christian Couder (11):
  dir: free untracked cache when removing it
  update-index: use enum for untracked cache options
  update-index: add --test-untracked-cache
  update-index: add untracked cache notifications
  update-index: move 'uc' var declaration
  dir: add {new,add}_untracked_cache()
  dir: add remove_untracked_cache()
  dir: simplify untracked cache "ident" field
  config: add core.untrackedCache
  test-dump-untracked-cache: don't modify the untracked cache
  t7063: add tests for core.untrackedCache

 Documentation/config.txt               |  9 ++++
 Documentation/git-update-index.txt     | 67 +++++++++++++++++++++----
 builtin/update-index.c                 | 62 ++++++++++++++---------
 cache.h                                |  3 ++
 config.c                               | 23 +++++++++
 contrib/completion/git-completion.bash |  1 +
 dir.c                                  | 62 ++++++++++++++++++-----
 dir.h                                  |  3 +-
 environment.c                          |  6 +++
 read-cache.c                           | 14 ++++++
 t/t7063-status-untracked-cache.sh      | 89 +++++++++++++++++++++++++++++++---
 test-dump-untracked-cache.c            |  2 +
 12 files changed, 287 insertions(+), 54 deletions(-)

-- 
2.7.0.36.g20612a7

             reply	other threads:[~2016-01-15  7:00 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15  6:59 Christian Couder [this message]
2016-01-15  6:59 ` [PATCH v5 01/11] dir: free untracked cache when removing it Christian Couder
2016-01-15  6:59 ` [PATCH v5 02/11] update-index: use enum for untracked cache options Christian Couder
2016-01-15  6:59 ` [PATCH v5 03/11] update-index: add --test-untracked-cache Christian Couder
2016-01-15  6:59 ` [PATCH v5 04/11] update-index: add untracked cache notifications Christian Couder
2016-01-15  6:59 ` [PATCH v5 05/11] update-index: move 'uc' var declaration Christian Couder
2016-01-15  6:59 ` [PATCH v5 06/11] dir: add {new,add}_untracked_cache() Christian Couder
2016-01-15  6:59 ` [PATCH v5 07/11] dir: add remove_untracked_cache() Christian Couder
2016-01-15  6:59 ` [PATCH v5 08/11] dir: simplify untracked cache "ident" field Christian Couder
2016-01-16 14:55   ` Torsten Bögershausen
2016-01-15  6:59 ` [PATCH v5 09/11] config: add core.untrackedCache Christian Couder
2016-01-15 20:15   ` Junio C Hamano
2016-01-15  6:59 ` [PATCH v5 10/11] test-dump-untracked-cache: don't modify the untracked cache Christian Couder
2016-01-15 20:16   ` Junio C Hamano
2016-01-20 10:12     ` Christian Couder
2016-01-15  6:59 ` [PATCH v5 11/11] t7063: add tests for core.untrackedCache Christian Couder
2016-01-15 20:16 ` [PATCH v5 00/11] Untracked cache improvements Junio C Hamano
2016-01-16 14:57 ` Torsten Bögershausen
2016-01-19 14:43   ` Christian Couder
2016-01-19 17:47     ` Junio C Hamano

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=1452841192-620-1-git-send-email-chriscool@tuxfamily.org \
    --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.
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 NNTP newsgroup(s).