From aae753dd8fd9177bf1ba962ab7ad754772281429 Mon Sep 17 00:00:00 2001 From: Jens Lehmann Date: Fri, 10 May 2013 02:33:43 -0700 Subject: [PATCH] Created Recursive submodule checkout (textile) --- Recursive-submodule-checkout.textile | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Recursive-submodule-checkout.textile diff --git a/Recursive-submodule-checkout.textile b/Recursive-submodule-checkout.textile new file mode 100644 index 0000000..6e77498 --- /dev/null +++ b/Recursive-submodule-checkout.textile @@ -0,0 +1,18 @@ +You find the current state of this series in the [[recusive_submodule_update|https://github.com/jlehmann/git-submod-enhancements/tree/recursive_submodule_checkout]] branch in this repo. + +**Be warned: the code is still experimental and might damage your data!** +Especially when removing a submodule on checkout all untracked files inside it will be lost! (and it'll stay that way until the discussed ignored-but-precious attribute is implemented in Git) + +Having said that, I already use this code for quite some time at my dayjob and it's working fine for me. + +*Stuff that's currently known not to work:* + +* Interactive rebase doesn't update submodule work trees +* A recreated submodule won't appear on first checkout (but it will on the second checkout; a fix for that is being worked on) +* A non-interactive rebase empties changed submodules + +Please mail me if you find another problem so we can take care of it (patches are also welcome ;-). + +*How to test it* + +Just check out the [[recusive_submodule_update|https://github.com/jlehmann/git-submod-enhancements/tree/recursive_submodule_checkout]] and put a "return 1" in the first line of submodule_needs_update() in submodule.c in a commit on top of it (this enables unconditional recursive checkout and will be needed until the configuration options are implemented and mature enough; but currently it breaks quite some tests). \ No newline at end of file -- 2.26.2