Hi,
Enno Weichert enno.weich...@gmail.com writes:
Hi,
I'd like to have a more technical look into the index file and what/how it
stores data; call it educational spelunking.
I know the index-format.txt but I'd really like to save me the work to
implement a pretty-printed output based on
Nguyễn Thái Ngọc Duy pclo...@gmail.com writes:
If an entry is watched, git lets an external program decide if the
entry is modified or not. It's more like --assume-unchanged, but
designed to be controlled by machine.
We are running out of on-disk ce_flags, so instead of extending
on-disk
the environment or the config variables are set.
I'm not sure about the precedence in patch 3, right now the environment
variable has precedence, but it should be easy to give the config
option precedence over that.
Thomas Gummerer (3):
introduce GIT_INDEX_VERSION environment variable
test-lib: allow
version under which t2104 is run to 3. This test only tests
functionality specific to version 2 and 3 of the index file and would
fail if the test suite is run with any other version.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Makefile | 7 +++
t/t2104
.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/git.txt | 5 +
read-cache.c | 18 +-
t/t1600-index.sh | 24
3 files changed, 46 insertions(+), 1 deletion(-)
create mode 100755 t/t1600-index.sh
diff --git
Add a config variable that allows setting the default index version when
initializing a new index file. Similar to the GIT_INDEX_VERSION
environment variable this only affects new index files.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/config.txt | 4
read
Duy Nguyen pclo...@gmail.com writes:
On Sun, Feb 16, 2014 at 2:23 AM, Thomas Gummerer t.gumme...@gmail.com wrote:
Hi,
since index-v5 didn't seem to generate enough interest to be merged, I
I thought there were some comments last time that you were going to
address and resubmit?
Yes
Junio C Hamano gits...@pobox.com writes:
Thomas Gummerer t.gumme...@gmail.com writes:
diff --git a/Documentation/git.txt b/Documentation/git.txt
index aec3726..bc9eeea 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -712,6 +712,11 @@ Git so take care if using Cogito etc
.
Thomas Gummerer (3):
introduce GIT_INDEX_VERSION environment variable
test-lib: allow setting the index format version
read-cache: add index.version config variable
Documentation/config.txt | 4 ++
Documentation/git.txt | 5 +++
Makefile
Add a config variable that allows setting the default index version when
initializing a new index file. Similar to the GIT_INDEX_VERSION
environment variable this only affects new index files.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/config.txt | 4
read
version under which t2104 is run to 3. This test only tests
functionality specific to version 2 and 3 of the index file and would
fail if the test suite is run with any other version.
Helped-by: Junio C Hamano gits...@pobox.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Makefile
.
Helped-by: Junio C Hamano gits...@pobox.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/git.txt | 5 +
read-cache.c | 21 -
t/t1600-index.sh | 49 +
3 files changed, 74 insertions(+), 1
Junio C Hamano gits...@pobox.com writes:
Junio C Hamano gits...@pobox.com writes:
Thomas Gummerer t.gumme...@gmail.com writes:
previous round was at $gmane/242198.
Since then I've squashed the fixes suggested by Junio, added a test
showing what should happen if an index file is present
Duy Nguyen pclo...@gmail.com writes:
On Wed, Jul 10, 2013 at 3:10 AM, Thomas Gummerer t.gumme...@gmail.com wrote:
If you happen to know that certain entries match the given pathspec,
you could help the caller avoid match_pathspec'ing again by set a bit
in ce_flags.
I currently don't know
Duy Nguyen pclo...@gmail.com writes:
On Sun, Jul 7, 2013 at 3:11 PM, Thomas Gummerer t.gumme...@gmail.com wrote:
+== File entry (fileentries)
+
+ File entries are sorted in ascending order on the name field, after the
+ respective offset given by the directory entries. All file names
Duy Nguyen pclo...@gmail.com writes:
On Thu, Jul 11, 2013 at 6:39 PM, Thomas Gummerer t.gumme...@gmail.com wrote:
Question about the possibility of updating index file directly. If git
updates a few fields of an entry (but not entrycrc yet) and crashes,
the entry would become corrupt because
-worktree flags for the default
index format is still covered by t7011 and t7012.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
t/t2104-update-index-skip-worktree.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/t/t2104-update-index-skip-worktree.sh
b/t/t2104-update-index-skip
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache.c | 91 +---
1 file changed, 57 insertions(+), 34 deletions(-)
diff --git a/read-cache.c b/read-cache.c
index 1e7ffc2..3e3a0e2 100644
--- a/read-cache.c
+++ b/read-cache.c
Move index version 2 specific functions to their own file. The non-index
specific functions will be in read-cache.c, while the index version 2
specific functions will be in read-cache-v2.c.
Helped-by: Nguyen Thai Ngoc Duy pclo...@gmail.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
Add documentation for the index reading api. This also includes
documentation for the new api functions introduced in the next patch.
Helped-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/technical/api-in-core-index.txt | 54
functions for iterating over and accessing cache entries.
This simplifies future improvements to the in-memory format, as changes
will be concentrated on one file, instead of the whole git source code.
Helped-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
part of the index file instead of
re-reading it when changing it, gives a bit of a performance advantage,
by avoiding to read parts of the index twice.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
builtin/update-index.c | 4
cache.h| 1 +
read-cache-v2.c| 2
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
builtin/grep.c | 71 ++
1 file changed, 37 insertions(+), 34 deletions(-)
diff --git a/builtin/grep.c b/builtin/grep.c
index a419cda..8b02644 100644
--- a/builtin/grep.c
+++ b/builtin
Use the index api to read only part of the index, if the on-disk version
of the index is index-v5.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
builtin/ls-files.c | 31 ---
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/builtin/ls-files.c b
Make the in-memory format aware of the stat_crc used by index-v5.
It is simply ignored by index version prior to v5.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache.h | 1 +
read-cache.c | 25 +
2 files changed, 26 insertions(+)
diff --git a/cache.h b
robin.rosenb...@dewire.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/technical/index-file-format-v5.txt | 296 +++
1 file changed, 296 insertions(+)
create mode 100644 Documentation/technical/index-file-format-v5.txt
diff --git a/Documentation
is sorted lexically.
So we have to rebuild this format from the on-disk directory list.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache-tree.c| 2 +-
cache-tree.h| 6
read-cache-v5.c | 100
3 files changed, 107
-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache-v5.c | 39 +++
1 file changed, 39 insertions(+)
diff --git a/read-cache-v5.c b/read-cache-v5.c
index 00112ea..853b97d 100644
--- a/read-cache-v5.c
+++ b/read-cache
...@gmail.com
Helped-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Makefile| 1 +
cache.h | 75 ++-
read-cache-v5.c | 638
read-cache.h| 1 +
4 files changed, 714 insertions
Write the cache-tree data for the index version 5 file format. The
in-memory cache-tree data is converted to the ondisk format, by adding
it to the directory entries, that were compiled from the cache-entries
in the step before.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache
Make update-index always rewrite the index when a index-version
is given, even if the index already has the right version.
This option is used for performance testing the writer and
reader.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
builtin/update-index.c | 4 ++--
1 file changed, 2
-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache-v5.c | 94 +
1 file changed, 94 insertions(+)
diff --git a/read-cache-v5.c b/read-cache-v5.c
index cd819b4..093ee1a 100644
--- a/read-cache-v5.c
.
Helped-by: Nguyen Thai Ngoc Duy pclo...@gmail.com
Helped-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache.h | 8 +
read-cache-v5.c | 594 +++-
read-cache.c| 11 +-
read-cache.h
From: Thomas Rast tr...@inf.ethz.ch
Add a performance test for index version [23]/4/5 by using
git update-index --index-version=x, thus testing both the reader
and the writer speed of all index formats.
Signed-off-by: Thomas Rast tr...@inf.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme
Duy Nguyen pclo...@gmail.com writes:
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
t/perf/p0003-index.sh| 59 +
t/t2104-update-index-skip-worktree.sh|1 +
For such a big code addition, the test part seems modest
Duy Nguyen pclo...@gmail.com writes:
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
+static int grep_cache(struct cache_entry *ce, void *cb_data)
{
- int hit = 0;
- int nr;
- read_cache();
+ struct grep_opts *opts = cb_data
Ramsay Jones ram...@ramsay1.demon.co.uk writes:
Thomas Gummerer wrote:
Hi,
previous rounds (without api) are at $gmane/202752, $gmane/202923,
$gmane/203088 and $gmane/203517, the previous round with api was at
$gmane/229732. Thanks to Junio, Duy and Eric for their comments on
the previous
Duy Nguyen pclo...@gmail.com writes:
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
+ if (!with_tree) {
+ memset(opts, 0, sizeof(*opts));
+ opts-pathspec = pathspec_struct;
+ opts-read_staged = 1
Duy Nguyen pclo...@gmail.com writes:
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
+== Directory offsets (diroffsets)
+
+ diroffset (32-bits): offset to the directory relative to the beginning
+of the index file. There are ndir + 1 offsets
Duy Nguyen pclo...@gmail.com writes:
[..]
+static int read_entries(struct index_state *istate, struct directory_entry
**de,
+ unsigned int *entry_offset, void **mmap,
+ unsigned long mmap_size, unsigned int *nr,
+ unsigned
Duy Nguyen pclo...@gmail.com writes:
On Mon, Jul 15, 2013 at 4:30 PM, Thomas Gummerer t.gumme...@gmail.com wrote:
Duy Nguyen pclo...@gmail.com writes:
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
t/perf/p0003-index.sh| 59
Duy Nguyen pclo...@gmail.com writes:
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
A partially read index file currently cannot be written to disk. Make
sure that never happens, by erroring out when a caller tries to change a
partially read index
Duy Nguyen pclo...@gmail.com writes:
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
@@ -489,8 +479,8 @@ extern void *read_blob_data_from_index(struct
index_state *, const char *, unsig
#define CE_MATCH_RACY_IS_DIRTY 02
/* do stat comparison even
Junio C Hamano gits...@pobox.com writes:
Thomas Gummerer t.gumme...@gmail.com writes:
Ah ok, I understand. I think it's best to add a GIT_INDEX_VERSION=x
config option to config.mak, where x is the index version that should be
tested.
Whatever you do, please do not call
Duy Nguyen pclo...@gmail.com writes:
A little bit more..
On Sat, Jul 13, 2013 at 12:26 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
+static void ce_queue_push(struct cache_entry **head,
+struct cache_entry **tail,
+struct
Duy Nguyen pclo...@gmail.com writes:
On Wed, Jul 17, 2013 at 3:11 PM, Thomas Gummerer t.gumme...@gmail.com wrote:
Duy Nguyen pclo...@gmail.com writes:
[..]
+static int read_entries(struct index_state *istate, struct
directory_entry **de,
+ unsigned int *entry_offset
Duy Nguyen pclo...@gmail.com writes:
On Wed, Jul 17, 2013 at 3:11 PM, Thomas Gummerer t.gumme...@gmail.com wrote:
Duy Nguyen pclo...@gmail.com writes:
[..]
+static int read_entries(struct index_state *istate, struct
directory_entry **de,
+ unsigned int *entry_offset
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
Cygwin doesn't have uid, gid and ino stats fields. Therefore we should
never check them in the match_stat_data when working on the CYGWIN
platform.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
This patch was not tested on Cygwin yet. I think it's needed though,
because the re
Move index version 2 specific functions to their own file. The non-index
specific functions will be in read-cache.c, while the index version 2
specific functions will be in read-cache-v2.c.
Helped-by: Nguyen Thai Ngoc Duy pclo...@gmail.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
Split index file version specific functionality to their own functions,
to prepare for moving the index file version specific parts to their own
file. This makes it easier to add a new index file format later.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache.c | 114
All fields except index_state-version are reset in discard_index.
Reset the version too.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/read-cache.c b/read-cache.c
index de0bbcd..1e22f6f 100644
--- a/read-cache.c
+++ b
-worktree flags for the default
index format is still covered by t7011 and t7012.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
t/t2104-update-index-skip-worktree.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/t/t2104-update-index-skip-worktree.sh
b/t/t2104-update-index-skip
Use the fixed width integer types uint16_t and uint32_t for ondisk
structures, because unsigned short and unsigned int do not hae a
guaranteed size.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache.h | 10 +-
read-cache.c | 30 +++---
2 files
Respect a GIT_INDEX_VERSION environment variable, when a new index is
initialized. Setting the environment variable will not cause existing
index files to be converted to another format for additional safety.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache.c | 9 +++--
1
.
Helped-by: Nguyen Thai Ngoc Duy pclo...@gmail.com
Helped-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache.h | 2 +
read-cache-v5.c | 596 +++-
read-cache.c| 4 +-
read-cache.h
From: Thomas Rast tr...@inf.ethz.ch
Add a performance test for index version [23]/4/5 by using
git update-index --index-version=x, thus testing both the reader
and the writer speed of all index formats.
Signed-off-by: Thomas Rast tr...@inf.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme
.
Forcing the caller to load the right part of the index file instead of
re-reading it when changing it, gives a bit of a performance advantage,
by avoiding to read parts of the index twice.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache.c | 4
1 file changed, 4 insertions
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache.c | 65 +++-
1 file changed, 34 insertions(+), 31 deletions(-)
diff --git a/read-cache.c b/read-cache.c
index aa17ce7..2d12601 100644
--- a/read-cache.c
+++ b/read-cache.c
robin.rosenb...@dewire.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/technical/index-file-format-v5.txt | 301 +++
1 file changed, 301 insertions(+)
create mode 100644 Documentation/technical/index-file-format-v5.txt
diff --git a/Documentation
Write the cache-tree data for the index version 5 file format. The
in-memory cache-tree data is converted to the ondisk format, by adding
it to the directory entries, that were compiled from the cache-entries
in the step before.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache
...@gmail.com
Helped-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Makefile| 1 +
cache.h | 32 +++-
read-cache-v5.c | 473
read-cache.h| 1 +
4 files changed, 506 insertions(+), 1
-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache-v5.c | 89 +
1 file changed, 89 insertions(+)
diff --git a/read-cache-v5.c b/read-cache-v5.c
index ed52b7c..10960fd 100644
--- a/read-cache-v5.c
Add documentation for the index reading api. This also includes
documentation for the new api functions introduced in the next patch.
Helped-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/technical/api-in-core-index.txt | 54
Eric Sunshine sunsh...@sunshineco.com writes:
On Sun, Aug 18, 2013 at 3:41 PM, Thomas Gummerer t.gumme...@gmail.com wrote:
A partially read index file currently cannot be written to disk. Make
sure that never happens, by erroring out when a caller tries to write a
s/,//
partially read
that in the re-roll.
On Mon, Aug 19, 2013 at 2:42 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
+static struct directory_entry *directory_entry_from_ondisk(struct
ondisk_directory_entry *ondisk,
+ const char *name
Duy Nguyen pclo...@gmail.com writes:
On Mon, Aug 19, 2013 at 2:42 AM, Thomas Gummerer t.gumme...@gmail.com wrote:
+static int read_entry(struct cache_entry **ce, char *pathname, size_t
pathlen,
+ void *mmap, unsigned long mmap_size,
+ unsigned int
Junio C Hamano gits...@pobox.com writes:
Thomas Gummerer t.gumme...@gmail.com writes:
Use the fixed width integer types uint16_t and uint32_t for ondisk
structures, because unsigned short and unsigned int do not hae a
guaranteed size.
This sounds like an independent fix to me. I'd queue
Junio C Hamano gits...@pobox.com writes:
Thomas Gummerer t.gumme...@gmail.com writes:
All fields except index_state-version are reset in discard_index.
Reset the version too.
What is the practical consequence of not clearing this field? I
somehow have a feeling that this was done
Duy Nguyen pclo...@gmail.com writes:
On Mon, Aug 19, 2013 at 2:42 AM, Thomas Gummerer t.gumme...@gmail.com wrote:
Respect a GIT_INDEX_VERSION environment variable, when a new index is
initialized. Setting the environment variable will not cause existing
index files to be converted to another
Junio C Hamano gits...@pobox.com writes:
Duy Nguyen pclo...@gmail.com writes:
On Mon, Aug 19, 2013 at 2:41 AM, Thomas Gummerer t.gumme...@gmail.com
wrote:
I'm done reviewing this version (I neglected the extension writing
patches because after spending hours on the main write patch I
On 08/05, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
Add a force-rewrite option to update-index, which allows the user
to rewrite the index, even if there are no changes. This can be used
to do performance tests of both the reader and the writer.
Signed-off
On 08/05, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
+static struct directory_entry *read_directories_v5(unsigned int
*dir_offset,
+ unsigned int *dir_table_offset,
+ void *mmap
On 08/07, Robin Rosenberg wrote:
Nguyễn Thái Ngọc Duy skrev 2012-08-06 16.36:
+++ b/read-cache-v5.c
@@ -0,0 +1,1170 @@
+#include cache.h
+#include read-cache.h
+#include resolve-undo.h
+#include cache-tree.h
+
+struct cache_header_v5 {
+unsigned int hdr_ndir;
+unsigned int
Make the in-memory format aware of the stat_crc used by index-v5.
It is simply ignored by index version prior to v5.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache.h |1 +
read-cache.c | 25 +
2 files changed, 26 insertions(+)
diff --git
-worktree flags for the default
index format is still covered by t7011 and t7012.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
t/t2104-update-index-skip-worktree.sh |1 +
1 file changed, 1 insertion(+)
diff --git a/t/t2104-update-index-skip-worktree.sh
b/t/t2104-update-index-skip
From: Thomas Rast tr...@student.ethz.ch
Add a performance test for index version [23]/4/5 by using
git update-index --update-index=[345], thus testing both the reader
and the writer speed of all index formats.
Signed-off-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer
...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Makefile|1 +
cache.h | 72 +++
read-cache-v5.c | 589 +++
read-cache.c|1 -
4 files changed, 662 insertions(+), 1 deletion(-)
create mode 100644 read
is sorted lexically.
So we have to rebuild this format from the on-disk directory list.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache-tree.c| 93 +++
cache-tree.h| 10 ++
read-cache-v5.c |1 +
3 files changed, 104
Write the cache-tree data for the index version 5 file format. The
in-memory cache-tree data is converted to the ondisk format, by adding
it to the directory entries, that were compiled from the cache-entries
in the step before.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache
robin.rosenb...@dewire.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Documentation/technical/index-file-format-v5.txt | 285 ++
1 file changed, 285 insertions(+)
create mode 100644 Documentation/technical/index-file-format-v5.txt
diff --git a/Documentation
interfering with the racy code, we use a time relative
to the time returned by time(3), instead of a time relative to
the mtime of the cache entries.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
t/t3700-add.sh |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t3700-add.sh
...@gmail.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
Makefile |2 +
cache.h | 13 +-
read-cache-v2.c | 581 +++
read-cache.c | 613 +++---
read-cache.h
-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache-v5.c |1 +
resolve-undo.c | 36
resolve-undo.h |2 ++
3 files changed, 39 insertions(+)
diff --git a/read-cache-v5.c b/read-cache-v5.c
index ec1201d
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache-v5.c |3 ++
resolve-undo.c | 93 +++
resolve-undo.h |1 +
3 files changed, 97 insertions(+)
diff --git a/read-cache-v5.c b/read-cache-v5.c
index 45f7acd..3d03111 100644
Make git update-index always rewrite the index, if a index-version
is given. This is used for performance testing, to have a reader
and writer for the whole index.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
builtin/update-index.c |4 +++-
1 file changed, 3 insertions(+), 1
.
Helped-by: Nguyen Thai Ngoc Duy pclo...@gmail.com
Helped-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache.h | 10 +-
read-cache-v5.c | 589 ++-
read-cache.c| 19 +-
read-cache.h
On 08/08, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
+name = (char *)mmap + *dir_offset;
+beginning = mmap + *dir_table_offset;
Notice how you computed name with pointer arithmetic by first
casting mmap (which is void *) and when computing
On 08/08, Junio C Hamano wrote:
Junio C Hamano gits...@pobox.com writes:
So whether done with sleep or test-chmtime, avoiding a racily
clean situation sounds like sweeping a bug in the v5 code in racy
situation under the rug to me (unless I am misunderstanding what
you are doing with
On 08/09, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
On 08/08, Junio C Hamano wrote:
...
Let me ask the same question in a more direct way. Which part of
this test break with your series?
test_expect_success 'git add --refresh with pathspec
On 08/09, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
/* remember to discard_cache() before reading a different cache! */
int read_index_from(struct index_state *istate, const char *path)
{
...
mmap = xmmap(NULL, mmap_size, PROT_READ | PROT_WRITE
On 08/09, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
Make git read the resolve-undo data from the index.
Since the resolve-undo data is joined with the conflicts in
the ondisk format of the index file version 5, conflicts and
resolved data is read at the same
On 08/09, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
On 08/09, Junio C Hamano wrote:
Thomas Gummerer t.gumme...@gmail.com writes:
Make git read the resolve-undo data from the index.
Since the resolve-undo data is joined with the conflicts in
the ondisk
On 08/10, Junio C Hamano wrote:
Thomas Rast tr...@student.ethz.ch writes:
But I think the idea always was that any write that changes the basic
layout of the file (so that you would read something wrong) will need a
full rewrite. Otherwise we're too far in DB land.
Most updates will
Add the possibility of re-reading the index file, if it changed
while reading.
The index file might change during the read, causing outdated
information to be displayed. We check if the index file changed
by using its stat data as heuristic.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
-worktree flags for the default
index format is still covered by t7011 and t7012.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
t/t2104-update-index-skip-worktree.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/t/t2104-update-index-skip-worktree.sh
b/t/t2104-update-index-skip
Make update-index always rewrite the index when a index-version
is given, even if the index already has the right version.
This option is used for performance testing the writer and
reader.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
builtin/update-index.c | 4 +++-
1 file changed, 3
From: Thomas Rast tr...@student.ethz.ch
Add a performance test for index version [23]/4/5 by using
git update-index --index-version=x, thus testing both the reader
and the writer speed of all index formats.
Signed-off-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme
-by: Thomas Rast tr...@student.ethz.ch
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
read-cache-v5.c | 96 +
1 file changed, 96 insertions(+)
diff --git a/read-cache-v5.c b/read-cache-v5.c
index d740d0b..ce2375a 100644
--- a/read-cache-v5.c
is sorted lexically.
So we have to rebuild this format from the on-disk directory list.
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
cache-tree.c| 2 +-
cache-tree.h| 6
read-cache-v5.c | 98 +
3 files changed, 105
1 - 100 of 848 matches
Mail list logo