From: Thomas Gummerer <t.gummerer@gmail.com>
To: git@vger.kernel.org
Cc: trast@inf.ethz.ch, mhagger@alum.mit.edu, gitster@pobox.com,
pclouds@gmail.com, robin.rosenberg@dewire.com,
sunshine@sunshineco.com, ramsay@ramsay1.demon.co.uk,
t.gummerer@gmail.com
Subject: [PATCH v3 00/24] Index-v5
Date: Sun, 18 Aug 2013 21:41:49 +0200 [thread overview]
Message-ID: <1376854933-31241-1-git-send-email-t.gummerer@gmail.com> (raw)
Hi,
previous rounds (without api) are at $gmane/202752, $gmane/202923,
$gmane/203088 and $gmane/203517, the previous rounds with api were at
$gmane/229732 and $gmane/230210. Thanks to Duy for reviewing the the
last round and Junio and Ramsay for additional comments.
Changes since the previous round:
read-cache: move index v2 specific functions to their own file
- set istate->ops to NULL in discard_index
read-cache: add index reading api
- style fixes
- instead of using internal_ops struct, do for_each_index_entry in
read-cache.c
grep.c: use index api
- remove duplicate call to match_pathspec_depth
ls-files.c: use index api
- load the whole index if there is a trai
documentation: add documentation of the index-v5 file format
- fix typo
- change the position of nfile and ndir in the index file
- document that the conflicts are also stored in the fileentries
block
- document invalid flag
read-cache: read index-v5
- restrict partial loading a bit more, by being more careful when
adjusting the pathspec
- move the ondisk structs from cache.h to read-cache-v5.c
- merge for and while loop in read_entries
- keep a directory tree instead of a flat list when reading the
directories
- ce_queue_push moved to read-cache: write index-v5 using a next_ce
pointer instead of the next pointer that's already used by
name-hash.
- fix reading if there are extensions that are not yet supported
- ignore entries that have the invalid flag set
read-cache: read cache-tree in index-v5
- use the tree structure which is now used in read index-v5
read-cache: write index-v5
- simplify compile_directory_data
changes to the index file format:
- store the number of files before the number of directories in the
header, so that the file command still can recognize the number of
files in the repository correctly.
- store all staged entries in the fileentries block. Doesn't hurt
the performance a lot but simplifies the code.
- add an invalid flag for entries that should be ignored. currently
unused but respected when reading. will be used once the conflict
resolution is done by flipping a bit in the conflict entries at the
end of the index.
added commits:
- read-cache: use fixed width integer types
- read-cache: clear version in discard_index()
- read-cache: Don't compare uid, gid and ino on cygwin
- introduce GIT_INDEX_VERSION environment variable
- test-lib: allow setting the index format version
Thomas Gummerer (23):
t2104: Don't fail for index versions other than [23]
read-cache: use fixed width integer types
read-cache: split index file version specific functionality
read-cache: clear version in discard_index()
read-cache: move index v2 specific functions to their own file
read-cache: Don't compare uid, gid and ino on cygwin
read-cache: Re-read index if index file changed
add documentation for the index api
read-cache: add index reading api
make sure partially read index is not changed
grep.c: use index api
ls-files.c: use index api
documentation: add documentation of the index-v5 file format
read-cache: make in-memory format aware of stat_crc
read-cache: read index-v5
read-cache: read resolve-undo data
read-cache: read cache-tree in index-v5
read-cache: write index-v5
read-cache: write index-v5 cache-tree data
read-cache: write resolve-undo data for index-v5
update-index.c: rewrite index when index-version is given
introduce GIT_INDEX_VERSION environment variable
test-lib: allow setting the index format version
Thomas Rast (1):
p0003-index.sh: add perf test for the index formats
Documentation/technical/api-in-core-index.txt | 54 +-
Documentation/technical/index-file-format-v5.txt | 301 +++++
Makefile | 10 +
builtin/apply.c | 2 +
builtin/grep.c | 69 +-
builtin/ls-files.c | 36 +-
builtin/update-index.c | 6 +-
cache-tree.c | 2 +-
cache-tree.h | 1 +
cache.h | 93 +-
read-cache-v2.c | 550 +++++++++
read-cache-v5.c | 1417 ++++++++++++++++++++++
read-cache.c | 685 +++--------
read-cache.h | 61 +
t/perf/p0003-index.sh | 63 +
t/t2104-update-index-skip-worktree.sh | 1 +
t/test-lib-functions.sh | 5 +
t/test-lib.sh | 3 +
test-index-version.c | 6 +
unpack-trees.c | 3 +-
20 files changed, 2786 insertions(+), 582 deletions(-)
create mode 100644 Documentation/technical/index-file-format-v5.txt
create mode 100644 read-cache-v2.c
create mode 100644 read-cache-v5.c
create mode 100644 read-cache.h
create mode 100755 t/perf/p0003-index.sh
--
1.8.3.4.1231.g9fbf354.dirty
next reply other threads:[~2013-08-18 19:48 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-18 19:41 Thomas Gummerer [this message]
2013-08-18 19:41 ` [PATCH v3 01/24] t2104: Don't fail for index versions other than [23] Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 02/24] read-cache: use fixed width integer types Thomas Gummerer
2013-08-18 20:21 ` Eric Sunshine
2013-08-20 19:30 ` Junio C Hamano
2013-08-21 3:05 ` Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 03/24] read-cache: split index file version specific functionality Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 04/24] read-cache: clear version in discard_index() Thomas Gummerer
2013-08-20 19:34 ` Junio C Hamano
2013-08-21 3:06 ` Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 05/24] read-cache: move index v2 specific functions to their own file Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 06/24] read-cache: Don't compare uid, gid and ino on cygwin Thomas Gummerer
2013-08-18 22:34 ` Ramsay Jones
2013-08-20 8:36 ` Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 07/24] read-cache: Re-read index if index file changed Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 08/24] add documentation for the index api Thomas Gummerer
2013-08-18 20:50 ` Eric Sunshine
2013-08-18 19:41 ` [PATCH v3 09/24] read-cache: add index reading api Thomas Gummerer
2013-08-18 19:41 ` [PATCH v3 10/24] make sure partially read index is not changed Thomas Gummerer
2013-08-18 21:06 ` Eric Sunshine
2013-08-20 8:46 ` Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 11/24] grep.c: use index api Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 12/24] ls-files.c: " Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 13/24] documentation: add documentation of the index-v5 file format Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 14/24] read-cache: make in-memory format aware of stat_crc Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 15/24] read-cache: read index-v5 Thomas Gummerer
2013-08-19 1:57 ` Eric Sunshine
2013-08-20 14:01 ` Duy Nguyen
2013-08-20 20:59 ` Thomas Gummerer
2013-08-21 0:44 ` Duy Nguyen
2013-08-20 14:16 ` Duy Nguyen
2013-08-20 21:13 ` Thomas Gummerer
2013-08-23 23:52 ` Duy Nguyen
2013-08-18 19:42 ` [PATCH v3 16/24] read-cache: read resolve-undo data Thomas Gummerer
2013-08-19 1:59 ` Eric Sunshine
2013-08-18 19:42 ` [PATCH v3 17/24] read-cache: read cache-tree in index-v5 Thomas Gummerer
2013-08-24 0:09 ` Duy Nguyen
2013-11-25 15:41 ` Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 18/24] read-cache: write index-v5 Thomas Gummerer
2013-08-24 3:58 ` Duy Nguyen
2013-11-25 15:37 ` Thomas Gummerer
2013-08-24 4:07 ` Duy Nguyen
2013-08-24 9:56 ` Duy Nguyen
2013-08-18 19:42 ` [PATCH v3 19/24] read-cache: write index-v5 cache-tree data Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 20/24] read-cache: write resolve-undo data for index-v5 Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 21/24] update-index.c: rewrite index when index-version is given Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 22/24] p0003-index.sh: add perf test for the index formats Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 23/24] introduce GIT_INDEX_VERSION environment variable Thomas Gummerer
2013-08-21 0:57 ` Duy Nguyen
2013-08-21 4:01 ` Thomas Gummerer
2013-08-18 19:42 ` [PATCH v3 24/24] test-lib: allow setting the index format version Thomas Gummerer
2013-08-24 4:16 ` [PATCH v3 00/24] Index-v5 Duy Nguyen
2013-08-25 3:07 ` Junio C Hamano
2013-08-25 4:40 ` Duy Nguyen
2013-08-31 5:23 ` 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=1376854933-31241-1-git-send-email-t.gummerer@gmail.com \
--to=t.gummerer@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=mhagger@alum.mit.edu \
--cc=pclouds@gmail.com \
--cc=ramsay@ramsay1.demon.co.uk \
--cc=robin.rosenberg@dewire.com \
--cc=sunshine@sunshineco.com \
--cc=trast@inf.ethz.ch \
/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).