Subject: [RFC/PATCH 0/4] working tree operations: support superprefix

From: Stefan Beller <[email-masked]>
Date: Mon, 9 Jan 2017 17:45:38 -0800

As you may know, I am trying to implement "git checkout --recurse-submodules"
which recurses into submodules and update the submodules to the recorded
state of the superproject. I realized that such a huge change is a big endeavor,
and needs to be broken up into many series. 

Currently I plan to send about 4 series:

* This one; teaching the superprefix to working tree operations.

* structured tests, i.e. enhancing lib-submodule-update.sh to have a function
  to test for any corner case (File/Submodule conflict,
  Directory/Submodule conflict; non-existence of submodule commit; and such)

* the actual internal implementation, mostly touching unpack-trees.c,
  entry.c and helper functions in submodule.c
  
* Enabling commands to take advantage of the infrastructure provided.
  At that point we only need to add a --recurse-submodule flag in the
  respective command and add a line to its respective test
  
  "test_switch_submodule_recursing $cmd --recurse-submodule"

--
This patch series is the first of the four series.

It consists of 4 patches, the first 3 are refactoring to a modern style of Git,
the last patch is the actual patch that allows read-tree to be used with
the superprefix option. read-tree is already exposed there to make the
super-prefix code tested.

The series is based on master.

Thanks,
Stefan

Stefan Beller (4):
  read-tree: use OPT_BOOL instead of OPT_SET_INT
  t1000: modernize style
  t1001: modernize style
  unpack-trees: support super-prefix option

 builtin/read-tree.c         |  36 +--
 git.c                       |   2 +-
 t/t1000-read-tree-m-3way.sh | 648 +++++++++++++++++++++----------------------
 t/t1001-read-tree-m-2way.sh | 650 ++++++++++++++++++++++----------------------
 unpack-trees.c              |  39 ++-
 5 files changed, 699 insertions(+), 676 deletions(-)

-- 
2.11.0.rc2.30.g7c4be45.dirty