{"thread":{"id":"49414","subject":"[PATCH 0/1] read-cache: update index format default to v4","startedAt":"2018-09-24T21:15:32Z","lastAt":"2018-09-26T21:04:11Z","messageCount":9,"participants":["Derrick Stolee via GitGitGadget","SZEDER Gábor","Junio C Hamano","Patrick Steinhardt","Derrick Stolee","Stefan Beller","Ben Peart","Matthias Sohn"],"isPatch":true,"patchVersion":1,"patchTotal":1},"messages":[{"id":"358791","messageId":"pull.41.git.gitgitgadget@gmail.com","threadId":"49414","inReplyTo":null,"subject":"[PATCH 0/1] read-cache: update index format default to v4","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2018-09-24T21:15:29Z","receivedAt":"2018-09-24T21:15:32Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"After discussing this with several people off-list, I thought I would open\nthe question up to the list:\n\nShould we update the default index version to v4?\n\nThe .git/index file stores the list of every path tracked by Git in the\nworking directory, including merge information, staged paths, and\ninformation about the file system contents (based on modified time). The\nonly major update in v4 is that the paths are prefix-compressed. This\ncompression works best in repos with a lot of paths, especially deep paths.\nFor this reason, we set the index to v4 in VFS for Git.\n\nAmong VFS for Git contributors, we were talking about how the v4 format is\nnot covered by the test suite by default. We are working to increase the\nnumber of CI builds that set extra GIT_TEST_* variables that we need.\nHowever, I thought it worth having a discussion of whether this is a good\nthing to recommend for all users of Git.\n\nPersonally, I'm not an expert here, but I am happy to start the\nconversation.\n\nThanks, -Stolee\n\nDerrick Stolee (1):\n  read-cache: update index format default to v4\n\n read-cache.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\n\nbase-commit: 53f9a3e157dbbc901a02ac2c73346d375e24978c\nPublished-As: https://github.com/gitgitgadget/git/releases/tags/pr-41%2Fderrickstolee%2Findex-v4-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-41/derrickstolee/index-v4-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/41\n-- \ngitgitgadget\n"},{"id":"358792","messageId":"56374128136fe9377503d446daf98e67847194aa.1537823728.git.gitgitgadget@gmail.com","threadId":"49414","inReplyTo":"pull.41.git.gitgitgadget@gmail.com","subject":"[PATCH 1/1] read-cache: update index format default to v4","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2018-09-24T21:15:30Z","receivedAt":"2018-09-24T21:15:34Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"From: Derrick Stolee <dstolee@microsoft.com>\n\nThe index v4 format has been available since 2012 with 9d22778\n\"reach-cache.c: write prefix-compressed names in the index\". Since\nthe format has been stable for so long, almost all versions of Git\nin use today understand version 4, removing one barrier to upgrade\n-- that someone may want to downgrade and needs a working repo.\n\nDespite being stable for a long time, this index version was never\nadopted as the default. This prefix-compressed version of the format\ncan get significant space savings on repos with large working\ndirectories (which naturally tend to have deep nesting). This version\nis set as the default for some external tools, such as VFS for Git.\nBecause of this external use, the format has had a lot of \"testing in\nproduction\" and also is subject to continuous integration in these\nenvironments.\n\nPreviously, to test version 4 indexes, we needed to run the test\nsuite with GIT_TEST_INDEX_VERSION=4 (or TEST_GIT_INDEX_VERSION=4).\n\nOne potential, but short-term, downside is that we lose coverage of\nthe version 3 indexes. The trade-off is that we may want to cover\nthat version using GIT_TEST_INDEX_VERSION=3.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n read-cache.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/read-cache.c b/read-cache.c\nindex 372588260e..af6c8f2a67 100644\n--- a/read-cache.c\n+++ b/read-cache.c\n@@ -1484,7 +1484,7 @@ struct cache_entry *refresh_cache_entry(struct cache_entry *ce,\n  * Index File I/O\n  *****************************************************************/\n \n-#define INDEX_FORMAT_DEFAULT 3\n+#define INDEX_FORMAT_DEFAULT 4\n \n static unsigned int get_index_format_default(void)\n {\n-- \ngitgitgadget\n"},{"id":"358796","messageId":"20180924213223.GG27036@localhost","threadId":"49414","inReplyTo":"56374128136fe9377503d446daf98e67847194aa.1537823728.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 1/1] read-cache: update index format default to v4","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2018-09-24T21:32:23Z","receivedAt":"2018-09-24T21:32:30Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Mon, Sep 24, 2018 at 02:15:30PM -0700, Derrick Stolee via GitGitGadget wrote:\n> From: Derrick Stolee <dstolee@microsoft.com>\n> \n> The index v4 format has been available since 2012 with 9d22778\n> \"reach-cache.c: write prefix-compressed names in the index\". Since\n> the format has been stable for so long, almost all versions of Git\n> in use today understand version 4, removing one barrier to upgrade\n> -- that someone may want to downgrade and needs a working repo.\n\nWhat about alternative implementations, like JGit, libgit2, etc.?\n\n> Despite being stable for a long time, this index version was never\n> adopted as the default. This prefix-compressed version of the format\n> can get significant space savings on repos with large working\n> directories (which naturally tend to have deep nesting). This version\n> is set as the default for some external tools, such as VFS for Git.\n> Because of this external use, the format has had a lot of \"testing in\n> production\" and also is subject to continuous integration in these\n> environments.\n> \n> Previously, to test version 4 indexes, we needed to run the test\n> suite with GIT_TEST_INDEX_VERSION=4 (or TEST_GIT_INDEX_VERSION=4).\n> \n> One potential, but short-term, downside is that we lose coverage of\n> the version 3 indexes. The trade-off is that we may want to cover\n> that version using GIT_TEST_INDEX_VERSION=3.\n> \n> Signed-off-by: Derrick Stolee <dstolee@microsoft.com>\n> ---\n>  read-cache.c | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/read-cache.c b/read-cache.c\n> index 372588260e..af6c8f2a67 100644\n> --- a/read-cache.c\n> +++ b/read-cache.c\n> @@ -1484,7 +1484,7 @@ struct cache_entry *refresh_cache_entry(struct cache_entry *ce,\n>   * Index File I/O\n>   *****************************************************************/\n>  \n> -#define INDEX_FORMAT_DEFAULT 3\n> +#define INDEX_FORMAT_DEFAULT 4\n>  \n>  static unsigned int get_index_format_default(void)\n>  {\n> -- \n> gitgitgadget\n"},{"id":"358801","messageId":"xmqqa7o6r0l5.fsf@gitster-ct.c.googlers.com","threadId":"49414","inReplyTo":"20180924213223.GG27036@localhost","subject":"Re: [PATCH 1/1] read-cache: update index format default to v4","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-09-24T22:29:26Z","receivedAt":"2018-09-24T22:29:31Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"SZEDER Gábor <szeder.dev@gmail.com> writes:\n\n> On Mon, Sep 24, 2018 at 02:15:30PM -0700, Derrick Stolee via GitGitGadget wrote:\n>> From: Derrick Stolee <dstolee@microsoft.com>\n>> \n>> The index v4 format has been available since 2012 with 9d22778\n>> \"reach-cache.c: write prefix-compressed names in the index\". Since\n>> the format has been stable for so long, almost all versions of Git\n>> in use today understand version 4, removing one barrier to upgrade\n>> -- that someone may want to downgrade and needs a working repo.\n>\n> What about alternative implementations, like JGit, libgit2, etc.?\n\nGood question.\n\nBecause the index-version of an index file is designed to be sticky,\nrepos that need to be accessed by other implementations can keep\nwhatever current version.  A new repo that need to be accessed by\nthem can be (forcibly) written in v2 and keep its v2ness, I would\nthink.\n\nAnd that would serve as an incentive for the implementations to\ncatch up ;-)\n\n\n\n"},{"id":"358820","messageId":"20180925070618.GB1596@xps","threadId":"49414","inReplyTo":"20180924213223.GG27036@localhost","subject":"Re: [PATCH 1/1] read-cache: update index format default to v4","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2018-09-25T07:06:18Z","receivedAt":"2018-09-25T07:06:26Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Mon, Sep 24, 2018 at 11:32:23PM +0200, SZEDER Gábor wrote:\n> On Mon, Sep 24, 2018 at 02:15:30PM -0700, Derrick Stolee via GitGitGadget wrote:\n> > From: Derrick Stolee <dstolee@microsoft.com>\n> > \n> > The index v4 format has been available since 2012 with 9d22778\n> > \"reach-cache.c: write prefix-compressed names in the index\". Since\n> > the format has been stable for so long, almost all versions of Git\n> > in use today understand version 4, removing one barrier to upgrade\n> > -- that someone may want to downgrade and needs a working repo.\n> \n> What about alternative implementations, like JGit, libgit2, etc.?\n\nSpeaking of libgit2, we are able to read and write index v4 since\ncommit c1b370e93 (Merge pull request #3837 from\nnovalis/dturner/indexv4, 2016-08-17), released with v0.25 in\nDecember 2016. Due to insufficient tests, our read support was\ninitially broken, which got fixed with commit 3bc95cfe3 (Merge\npull request #4236 from pks-t/pks/index-v4-fixes, 2017-06-07) and\nreleased with v0.26 in June 2017.\n\nRight now I'm not aware of additional bugs in our index v4\nsupport, so we'd be fine with changing the default.\n\nPatrick\n\n> > Despite being stable for a long time, this index version was never\n> > adopted as the default. This prefix-compressed version of the format\n> > can get significant space savings on repos with large working\n> > directories (which naturally tend to have deep nesting). This version\n> > is set as the default for some external tools, such as VFS for Git.\n> > Because of this external use, the format has had a lot of \"testing in\n> > production\" and also is subject to continuous integration in these\n> > environments.\n> > \n> > Previously, to test version 4 indexes, we needed to run the test\n> > suite with GIT_TEST_INDEX_VERSION=4 (or TEST_GIT_INDEX_VERSION=4).\n> > \n> > One potential, but short-term, downside is that we lose coverage of\n> > the version 3 indexes. The trade-off is that we may want to cover\n> > that version using GIT_TEST_INDEX_VERSION=3.\n> > \n> > Signed-off-by: Derrick Stolee <dstolee@microsoft.com>\n> > ---\n> >  read-cache.c | 2 +-\n> >  1 file changed, 1 insertion(+), 1 deletion(-)\n> > \n> > diff --git a/read-cache.c b/read-cache.c\n> > index 372588260e..af6c8f2a67 100644\n> > --- a/read-cache.c\n> > +++ b/read-cache.c\n> > @@ -1484,7 +1484,7 @@ struct cache_entry *refresh_cache_entry(struct cache_entry *ce,\n> >   * Index File I/O\n> >   *****************************************************************/\n> >  \n> > -#define INDEX_FORMAT_DEFAULT 3\n> > +#define INDEX_FORMAT_DEFAULT 4\n> >  \n> >  static unsigned int get_index_format_default(void)\n> >  {\n> > -- \n> > gitgitgadget\n"},{"id":"358833","messageId":"4d276a77-0ac9-c1d1-b5de-3ded394efb0b@gmail.com","threadId":"49414","inReplyTo":"20180925070618.GB1596@xps","subject":"Re: [PATCH 1/1] read-cache: update index format default to v4","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2018-09-25T14:29:44Z","receivedAt":"2018-09-25T14:29:54Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 9/25/2018 3:06 AM, Patrick Steinhardt wrote:\n> On Mon, Sep 24, 2018 at 11:32:23PM +0200, SZEDER Gábor wrote:\n>> On Mon, Sep 24, 2018 at 02:15:30PM -0700, Derrick Stolee via GitGitGadget wrote:\n>>> From: Derrick Stolee <dstolee@microsoft.com>\n>>>\n>>> The index v4 format has been available since 2012 with 9d22778\n>>> \"reach-cache.c: write prefix-compressed names in the index\". Since\n>>> the format has been stable for so long, almost all versions of Git\n>>> in use today understand version 4, removing one barrier to upgrade\n>>> -- that someone may want to downgrade and needs a working repo.\n>> What about alternative implementations, like JGit, libgit2, etc.?\n> Speaking of libgit2, we are able to read and write index v4 since\n> commit c1b370e93\n\nThis is a good point, Szeder.\n\nPatrick: I'm glad LibGit2 is up-to-date with index formats.\n\nUnfortunately, taking a look (for the first time) at the JGit code \nreveals that they don't appear to have v4 support. In \norg.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java, the \nDirCache.readFrom() method: lines 488-494, I see the following snippet:\n\n                 final int ver = NB.decodeInt32(hdr, 4);\n                 boolean extended = false;\n                 if (ver == 3)\n                         extended = true;\n                 else if (ver != 2)\n                         throw new \nCorruptObjectException(MessageFormat.format(\nJGitText.get().unknownDIRCVersion, Integer.valueOf(ver)));\n\nIt looks like this will immediately throw with versions other than 2 or 3.\n\nI'm adding Jonathan Nieder to CC so he can check with JGit people about \nthe impact of this change.\n\nThanks,\n\n-Stolee\n\n\n"},{"id":"358849","messageId":"CAGZ79kZEN9pSBAdVajfRrrb_D3twD+C7hnzZti+TqO0-sVp9PA@mail.gmail.com","threadId":"49414","inReplyTo":"4d276a77-0ac9-c1d1-b5de-3ded394efb0b@gmail.com","subject":"Re: [PATCH 1/1] read-cache: update index format default to v4","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2018-09-25T18:01:34Z","receivedAt":"2018-09-25T18:01:48Z","isPatch":true,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Tue, Sep 25, 2018 at 7:30 AM Derrick Stolee <stolee@gmail.com> wrote:\n>\n> On 9/25/2018 3:06 AM, Patrick Steinhardt wrote:\n> > On Mon, Sep 24, 2018 at 11:32:23PM +0200, SZEDER Gábor wrote:\n> >> On Mon, Sep 24, 2018 at 02:15:30PM -0700, Derrick Stolee via GitGitGadget wrote:\n> >>> From: Derrick Stolee <dstolee@microsoft.com>\n> >>>\n> >>> The index v4 format has been available since 2012 with 9d22778\n> >>> \"reach-cache.c: write prefix-compressed names in the index\". Since\n> >>> the format has been stable for so long, almost all versions of Git\n> >>> in use today understand version 4, removing one barrier to upgrade\n> >>> -- that someone may want to downgrade and needs a working repo.\n> >> What about alternative implementations, like JGit, libgit2, etc.?\n> > Speaking of libgit2, we are able to read and write index v4 since\n> > commit c1b370e93\n>\n> This is a good point, Szeder.\n>\n> Patrick: I'm glad LibGit2 is up-to-date with index formats.\n>\n> Unfortunately, taking a look (for the first time) at the JGit code\n> reveals that they don't appear to have v4 support. In\n> org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java, the\n> DirCache.readFrom() method: lines 488-494, I see the following snippet:\n>\n>                  final int ver = NB.decodeInt32(hdr, 4);\n>                  boolean extended = false;\n>                  if (ver == 3)\n>                          extended = true;\n>                  else if (ver != 2)\n>                          throw new\n> CorruptObjectException(MessageFormat.format(\n> JGitText.get().unknownDIRCVersion, Integer.valueOf(ver)));\n>\n> It looks like this will immediately throw with versions other than 2 or 3.\n>\n> I'm adding Jonathan Nieder to CC so he can check with JGit people about\n> the impact of this change.\n\nJGit is used both on the server (which doesn't use index/staging area)\nas well as client side as e.g. an Eclipse integration, which would\nvery much like to use the index.\n\nAdding Matthias Sohn as well, who is active in JGit and cares\nmore about the client side than Googlers who only make use\nof the server side part of JGit.\n\nStefan\n"},{"id":"358874","messageId":"c05896d5-0b0a-9349-3c6d-9e658cd495ca@gmail.com","threadId":"49414","inReplyTo":"CAGZ79kZEN9pSBAdVajfRrrb_D3twD+C7hnzZti+TqO0-sVp9PA@mail.gmail.com","subject":"Re: [PATCH 1/1] read-cache: update index format default to v4","fromName":"Ben Peart","fromEmail":"peartben@gmail.com","sentAt":"2018-09-25T21:22:53Z","receivedAt":"2018-09-25T21:23:02Z","isPatch":true,"sender":{"key":"benpeart@microsoft.com","avatar":"https://avatars.githubusercontent.com/u/15252029?v=4"},"body":"\n\nOn 9/25/2018 2:01 PM, Stefan Beller wrote:\n> On Tue, Sep 25, 2018 at 7:30 AM Derrick Stolee <stolee@gmail.com> wrote:\n>>\n>> On 9/25/2018 3:06 AM, Patrick Steinhardt wrote:\n>>> On Mon, Sep 24, 2018 at 11:32:23PM +0200, SZEDER Gábor wrote:\n>>>> On Mon, Sep 24, 2018 at 02:15:30PM -0700, Derrick Stolee via GitGitGadget wrote:\n>>>>> From: Derrick Stolee <dstolee@microsoft.com>\n>>>>>\n>>>>> The index v4 format has been available since 2012 with 9d22778\n>>>>> \"reach-cache.c: write prefix-compressed names in the index\". Since\n>>>>> the format has been stable for so long, almost all versions of Git\n>>>>> in use today understand version 4, removing one barrier to upgrade\n>>>>> -- that someone may want to downgrade and needs a working repo.\n>>>> What about alternative implementations, like JGit, libgit2, etc.?\n>>> Speaking of libgit2, we are able to read and write index v4 since\n>>> commit c1b370e93\n>>\n>> This is a good point, Szeder.\n>>\n>> Patrick: I'm glad LibGit2 is up-to-date with index formats.\n>>\n>> Unfortunately, taking a look (for the first time) at the JGit code\n>> reveals that they don't appear to have v4 support. In\n>> org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java, the\n>> DirCache.readFrom() method: lines 488-494, I see the following snippet:\n>>\n>>                   final int ver = NB.decodeInt32(hdr, 4);\n>>                   boolean extended = false;\n>>                   if (ver == 3)\n>>                           extended = true;\n>>                   else if (ver != 2)\n>>                           throw new\n>> CorruptObjectException(MessageFormat.format(\n>> JGitText.get().unknownDIRCVersion, Integer.valueOf(ver)));\n>>\n>> It looks like this will immediately throw with versions other than 2 or 3.\n>>\n>> I'm adding Jonathan Nieder to CC so he can check with JGit people about\n>> the impact of this change.\n> \n> JGit is used both on the server (which doesn't use index/staging area)\n> as well as client side as e.g. an Eclipse integration, which would\n> very much like to use the index.\n> \n> Adding Matthias Sohn as well, who is active in JGit and cares\n> more about the client side than Googlers who only make use\n> of the server side part of JGit.\n> \n> Stefan\n> \n\nIn addition to the compatibility with other implementations of git \nquestion, I think we should include Duy's patch [1] to \"optimize reading \nindex format v4\" before flipping the default to V4.\n\nIn my testing, this reduced the index load time of V4 by 10%-15% making \nthe CPU cost only ~2% more expensive than V2 or V3 indexes.  This \nincrease in CPU cost is more than offset by the significant reduction in \nfile IO due to the reduced index file size.\n\n[1] https://public-inbox.org/git/20180825064458.28484-1-pclouds@gmail.com/\n"},{"id":"359006","messageId":"CAKSZd3S7pZUgu8MK7F26cmdX5PwP7TAcCY9-Dduj_1OY+Vfhnw@mail.gmail.com","threadId":"49414","inReplyTo":"CAGZ79kZEN9pSBAdVajfRrrb_D3twD+C7hnzZti+TqO0-sVp9PA@mail.gmail.com","subject":"Re: [PATCH 1/1] read-cache: update index format default to v4","fromName":"Matthias Sohn","fromEmail":"matthias.sohn@gmail.com","sentAt":"2018-09-26T21:03:56Z","receivedAt":"2018-09-26T21:04:11Z","isPatch":true,"sender":{"key":"matthias.sohn@gmail.com","avatar":null},"body":"On Tue, Sep 25, 2018 at 8:01 PM Stefan Beller <sbeller@google.com> wrote:\n>\n> On Tue, Sep 25, 2018 at 7:30 AM Derrick Stolee <stolee@gmail.com> wrote:\n> >\n> > On 9/25/2018 3:06 AM, Patrick Steinhardt wrote:\n> > > On Mon, Sep 24, 2018 at 11:32:23PM +0200, SZEDER Gábor wrote:\n> > >> On Mon, Sep 24, 2018 at 02:15:30PM -0700, Derrick Stolee via GitGitGadget wrote:\n> > >>> From: Derrick Stolee <dstolee@microsoft.com>\n> > >>>\n> > >>> The index v4 format has been available since 2012 with 9d22778\n> > >>> \"reach-cache.c: write prefix-compressed names in the index\". Since\n> > >>> the format has been stable for so long, almost all versions of Git\n> > >>> in use today understand version 4, removing one barrier to upgrade\n> > >>> -- that someone may want to downgrade and needs a working repo.\n> > >> What about alternative implementations, like JGit, libgit2, etc.?\n> > > Speaking of libgit2, we are able to read and write index v4 since\n> > > commit c1b370e93\n> >\n> > This is a good point, Szeder.\n> >\n> > Patrick: I'm glad LibGit2 is up-to-date with index formats.\n> >\n> > Unfortunately, taking a look (for the first time) at the JGit code\n> > reveals that they don't appear to have v4 support. In\n> > org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java, the\n> > DirCache.readFrom() method: lines 488-494, I see the following snippet:\n> >\n> >                  final int ver = NB.decodeInt32(hdr, 4);\n> >                  boolean extended = false;\n> >                  if (ver == 3)\n> >                          extended = true;\n> >                  else if (ver != 2)\n> >                          throw new\n> > CorruptObjectException(MessageFormat.format(\n> > JGitText.get().unknownDIRCVersion, Integer.valueOf(ver)));\n> >\n> > It looks like this will immediately throw with versions other than 2 or 3.\n> >\n> > I'm adding Jonathan Nieder to CC so he can check with JGit people about\n> > the impact of this change.\n>\n> JGit is used both on the server (which doesn't use index/staging area)\n> as well as client side as e.g. an Eclipse integration, which would\n> very much like to use the index.\n>\n> Adding Matthias Sohn as well, who is active in JGit and cares\n> more about the client side than Googlers who only make use\n> of the server side part of JGit.\n\nthanks for the heads up, in fact JGit does not yet support index version 4.\nI will look into this.\n\n-Matthias\n"}]}