From: Antonio Ospite <ao2@ao2.it>
To: gitster@pobox.com
Cc: git@vger.kernel.org, "Jonathan Nieder" <jrnieder@gmail.com>,
"Stefan Beller" <sbeller@google.com>, "Jeff King" <peff@peff.net>,
"SZEDER Gábor" <szeder.dev@gmail.com>,
"Antonio Ospite" <ao2@ao2.it>
Subject: [PATCH v7 00/10] Make submodules work if .gitmodules is not checked out
Date: Thu, 25 Oct 2018 18:18:03 +0200 [thread overview]
Message-ID: <20181025161813.17252-1-ao2@ao2.it> (raw)
Hi,
this series teaches git to try and read the .gitmodules file from the
index (:.gitmodules) or from the current branch (HEAD:.gitmodules) when
the file is not readily available in the working tree.
This can be used, together with sparse checkouts, to enable submodule
usage with programs like vcsh[1] which manage multiple repositories with
their working trees sharing the same path.
[1] https://github.com/RichiH/vcsh
In the previous series there were some comments about not using the enum
in patch 8, but I decided to leave the code as it was as I still think
that it make sense to use an enum there, and have the default value
unnamed; during the discussion I pointed out that other code in git do
the same.
In this series I am addressing the comments by Stefan Beller about the
tests in patch 9.
If the new tests look OK, I'd say we try moving the series to "next" and
see what happens?
I am available to address any further concerns in follow-up patches.
v6 of the series is here:
https://public-inbox.org/git/20181005130601.15879-1-ao2@ao2.it/
v5 of the series is here:
https://public-inbox.org/git/20180917140940.3839-1-ao2@ao2.it/
v4 of the series is here:
https://public-inbox.org/git/20180824132951.8000-1-ao2@ao2.it/
v3 of the series is here:
https://public-inbox.org/git/20180814110525.17801-1-ao2@ao2.it/
v2 of the series is here:
https://public-inbox.org/git/20180802134634.10300-1-ao2@ao2.it/
v1 of the series, with some background info, is here:
https://public-inbox.org/git/20180514105823.8378-1-ao2@ao2.it/
Changes since v6:
* Renamed t7416-submodule-sparse-gitmodules.sh to
t7418-submodule-sparse-gitmodules.sh because t7416 was already
taken. This has been already taken care of by Junio in "pu".
* Improved tests in t7418: now, instead of just testing the return
value of "git submodule ..." commands when .gitmodules is not in the
working tree, the actual use case is checked in each test, with pre-
and post-conditions.
Thank you,
Antonio
Antonio Ospite (10):
submodule: add a print_config_from_gitmodules() helper
submodule: factor out a config_set_in_gitmodules_file_gently function
t7411: merge tests 5 and 6
t7411: be nicer to future tests and really clean things up
submodule--helper: add a new 'config' subcommand
submodule: use the 'submodule--helper config' command
t7506: clean up .gitmodules properly before setting up new scenario
submodule: add a helper to check if it is safe to write to .gitmodules
submodule: support reading .gitmodules when it's not in the working
tree
t/helper: add test-submodule-nested-repo-config
Makefile | 1 +
builtin/grep.c | 17 ++-
builtin/submodule--helper.c | 40 ++++++
cache.h | 2 +
git-submodule.sh | 13 +-
submodule-config.c | 68 ++++++++-
submodule-config.h | 2 +
submodule.c | 28 +++-
submodule.h | 1 +
t/helper/test-submodule-nested-repo-config.c | 30 ++++
t/helper/test-tool.c | 1 +
t/helper/test-tool.h | 1 +
t/t7411-submodule-config.sh | 141 +++++++++++++++++--
t/t7418-submodule-sparse-gitmodules.sh | 122 ++++++++++++++++
t/t7506-status-submodule.sh | 3 +-
t/t7814-grep-recurse-submodules.sh | 16 +++
16 files changed, 454 insertions(+), 32 deletions(-)
create mode 100644 t/helper/test-submodule-nested-repo-config.c
create mode 100755 t/t7418-submodule-sparse-gitmodules.sh
--
Antonio Ospite
https://ao2.it
https://twitter.com/ao2it
A: Because it messes up the order in which people normally read text.
See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
next reply other threads:[~2018-10-25 16:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-25 16:18 Antonio Ospite [this message]
2018-10-25 16:18 ` [PATCH v7 01/10] submodule: add a print_config_from_gitmodules() helper Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 02/10] submodule: factor out a config_set_in_gitmodules_file_gently function Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 03/10] t7411: merge tests 5 and 6 Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 04/10] t7411: be nicer to future tests and really clean things up Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 05/10] submodule--helper: add a new 'config' subcommand Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 06/10] submodule: use the 'submodule--helper config' command Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 07/10] t7506: clean up .gitmodules properly before setting up new scenario Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 08/10] submodule: add a helper to check if it is safe to write to .gitmodules Antonio Ospite
2018-10-25 16:18 ` [PATCH v7 09/10] submodule: support reading .gitmodules when it's not in the working tree Antonio Ospite
2018-10-30 9:57 ` Johannes Schindelin
2018-10-30 11:16 ` Antonio Ospite
2018-10-31 6:01 ` Junio C Hamano
2018-10-25 16:18 ` [PATCH v7 10/10] t/helper: add test-submodule-nested-repo-config Antonio Ospite
2018-10-25 18:49 ` [PATCH v7 00/10] Make submodules work if .gitmodules is not checked out Stefan Beller
2018-10-26 1:59 ` Junio C Hamano
2018-10-26 18:43 ` Stefan Beller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181025161813.17252-1-ao2@ao2.it \
--to=ao2@ao2.it \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=peff@peff.net \
--cc=sbeller@google.com \
--cc=szeder.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).