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

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Wed, 4 Jun 2008 23:27:48 +0700

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