Thanks Junio, Eric and Jacob for review!
v2:
* reworded commit message for test (Thanks Junio!)
* instead of "simplifying" the path handling in patch 2, we are prepared
for anything the user throws at us (i.e. instead of segfault we
die(_("submodule--helper: unspecified or empty --path"));
(Thanks Eric, Jacob for pushing back here!)
* reword commit message for patch 3 (safe_create_leading_directories_const is
not a check, Thanks Junio!)
* patch 4 (the fix): That got reworked completely. No flow controlling
conditions in the write out phase!
* patch 5 is a bonus! (replace fprintf by fprintf_or die) When implementing
that I wondered if we also have close_or_die and open_or_die, but that
doesn't
seem to be the case.
Thanks,
Stefan
v1:
It took me longer than expected to fix this bug.
It comes with a test and minor refactoring and applies on top of
origin/sb/submodule-helper, such that it can be merged into 2.7, 2.8 as well
as master.
Patch 1 is a test which fails; it has a similar layout as the
real failing repository Norio Nomura pointed out, but simplified to the
bare essentials for reproduction of the bug.
Patch 2&3 are not strictly necessary for fixing the isseu, but it removes
stupid code I wrote, so the resulting code looks a little better.
Patch 4 fixes the issue by giving more information to relative_path,
such that a relative path can be found in all cases.
Thanks,
Stefan
Stefan Beller (5):
recursive submodules: test for relative paths
submodule--helper clone: simplify path check
submodule--helper clone: remove double path checking
submodule--helper, module_clone: always operate on absolute paths
submodule--helper, module_clone: catch fprintf failure
builtin/submodule--helper.c | 52 +++++++++++++++++++++++++--------------------
t/t7400-submodule-basic.sh | 41 +++++++++++++++++++++++++++++++++++
2 files changed, 70 insertions(+), 23 deletions(-)
--
2.5.0.264.g39f00fe
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html