[PATCH 0/4] implement automatic submodule merge strategy when possible
- From
Heiko Voigt <hvoigt@hvoigt.net>
- Date
- Jun 30, 2010, 19:23 UTC
- Message-ID
- <cover.1277923843.git.hvoigt@hvoigt.net>
This series implements a semi-automatic submodule merge as was discussed in this thread:
http://thread.gmane.org/gmane.comp.version-control.git/148942
In short:
Suppose we merge two submodule hashes A and B. If either A->B or B->A is a fast-forward the automatic result is the one containing both.
If there is not direct relation between A and B but we find a merge on any ref that contains both we suggest this as a possible resolution to the user. If there are more merges we output a list of them.
The suggestion tells the user to use update-index because checkout_submodule() on which Jens is working is not finished yet. This is a temporary solution and we can automatically checkout a submodule later when this is implemented.
Note: As I am not that familiar with the git codebase yet another pair of eyes would be really appreciated.
The newest version of this series can always be found on
git://github.com/hvoigt/git.git
Branch: submodule_merge_v2
Heiko Voigt (4): add missing && to submodule-merge testcase teach ref iteration module about submodules extent setup_revisions() so it works with submodules implement automatic fast forward merge for submodules
cache.h | 3 + merge-recursive.c | 9 ++- path.c | 38 +++++++++++ refs.c | 130 +++++++++++++++++++++++++++++-------- refs.h | 8 ++ revision.c | 32 +++++---- revision.h | 1 + submodule.c | 154 ++++++++++++++++++++++++++++++++++++++++++++ submodule.h | 2 + t/t7405-submodule-merge.sh | 124 +++++++++++++++++++++++++++++++++-- 10 files changed, 450 insertions(+), 51 deletions(-)