git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCHv2 0/5] Fix relative path issues in recursive submodules.
@ 2016-03-31 21:04 Stefan Beller
  2016-03-31 21:04 ` [PATCHv2 1/5] recursive submodules: test for relative paths Stefan Beller
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Stefan Beller @ 2016-03-31 21:04 UTC (permalink / raw)
  To: git, gitster; +Cc: sunshine, jacob.keller, norio.nomura, Stefan Beller

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-03-31 23:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-31 21:04 [PATCHv2 0/5] Fix relative path issues in recursive submodules Stefan Beller
2016-03-31 21:04 ` [PATCHv2 1/5] recursive submodules: test for relative paths Stefan Beller
2016-03-31 21:04 ` [PATCHv2 2/5] submodule--helper clone: simplify path check Stefan Beller
2016-03-31 21:23   ` Eric Sunshine
2016-03-31 21:04 ` [PATCHv2 3/5] submodule--helper clone: remove double path checking Stefan Beller
2016-03-31 21:58   ` Eric Sunshine
2016-03-31 22:21     ` Junio C Hamano
2016-03-31 21:04 ` [PATCHv2 4/5] submodule--helper, module_clone: always operate on absolute paths Stefan Beller
2016-03-31 22:26   ` Junio C Hamano
2016-03-31 22:59     ` Stefan Beller
2016-03-31 23:08       ` Stefan Beller
2016-03-31 21:04 ` [PATCHv2 5/5] submodule--helper, module_clone: catch fprintf failure Stefan Beller

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).