threads / rfc / 13794

RFC patch, 2 partsSubtree checkout 1/2: introduce index prefix

Subject: [WIP/RFC PATCH 0/2] Subtree checkout 1/2: introduce index prefix

## tl;dr

One message between Jun 4, 2008 and Jun 4, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Nguyễn Thái Ngọc Duy· Jun 4, 2008, 16:27 UTC · lore

This is the first part for subtree checkout: restrict write access to index. The second part would be restrict/adjust access to working directory so that it only needs part of full working directory to work on. I would like to hear comments from people before heading to part 2.

As I understand, the hardest part is probably merging. My strategy is quite simple: allow merge as long as no conflicts are outside index prefix.

While it is done as part of subtree checkout. I think it can be also used as a separate feature: working on a worktree where only a subtree is to be worked on. One example is gentoo-x86 repository (~80k files). I only work on a tree of dozen of files, but every time I do "git status", ~100k stats will be issued. With this, it can be reduced to about 20 stats.

So back to the topic. Is the approach broken? Do I miss anything that can write outside index prefix? What else needs more test case?

Thanks
Nguyễn Thái Ngọc Duy (2):
  Introduce GIT_INDEX_PREFIX
  Add tests for index prefix
 builtin-merge-recursive.c               |    4 +-
 builtin-read-tree.c                     |    5 +
 builtin-rev-parse.c                     |    5 +
 builtin-update-index.c                  |    3 +
 cache.h                                 |    2 +
 environment.c                           |   12 ++
 read-cache.c                            |   84 ++++++++++++-
 t/t2300-index-prefix.sh                 |  207 +++++++++++++++++++++++++++++
 t/t2301-index-prefix-merge-recursive.sh |  221 +++++++++++++++++++++++++++++++
 unpack-trees.c                          |    3 +
 unpack-trees.h                          |    3 +-
 11 files changed, 545 insertions(+), 4 deletions(-)
 create mode 100755 t/t2300-index-prefix.sh
 create mode 100755 t/t2301-index-prefix-merge-recursive.sh

← back to recent threads