Re: [PATCH, RFC] checkout: Attempt to checkout submodules
- From
Jens Lehmann <jens.lehmann@web.de>
- Date
- Mar 23, 2015, 20:01 UTC
- Message-ID
- <5510712C.5090906@web.de>
- In-Reply-To
- <20150320001345.GC21536@tsaunders-iceball.corp.tor1.mozilla.com>
Am 20.03.2015 um 01:13 schrieb Trevor Saunders:
Show 12 quoted lines
> On Thu, Mar 19, 2015 at 02:15:19PM -0700, Junio C Hamano wrote: >> Trevor Saunders <tbsaunde@tbsaunde.org> writes: >> I have a feeling that an optional feature that allows "git submodule >> update" to happen automatically from this codepath might be >> acceptable by the submodule folks, and they might even say it does >> not even have to be optional but should be enabled by default. > > ok, that seems fairly reasonable. I do kind of wonder though if it > shouldn't be 'git submodule update --checkout' but that would get us > kind of back to where we started. I guess since the default is checkout > if you set the pref then you can be assumed to have some amount of idea > what your doing.
Me thinks it should be "git checkout" for those submodules that have their update setting set to 'checkout' (or not set at all). I'm not sure yet if it makes sense to attempt a rebase or merge here, but that can be added later if necessary.
>> But I do not think it would fly well to unconditionally run >> "checkout -f" here. > > agreed
Using -f here is ok when you extend the appropriate verify functions in unpack-trees.c to check that no modifications will be lost (unless the original checkout is used with -f). See the commit 76dbdd62 ("submodule: teach unpack_trees() to update submodules") in my github repo at https://github.com/jlehmann/git-submod-enhancements for the basic concept (There is already a fixup! for that a bit further down the branch which handles submodule to file conversion, maybe one or two other changes will be needed when the test suite covers all relevant cases).