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(-) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html