git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Paper cut bug: Why isn't "git clone xxxx" recursive by default?

From
MKMara Kim <mara.kim@vanderbilt.edu>
Date
Jun 3, 2014, 22:24 UTC
Message-ID
<CAJdEhSbo_-s7T9Mu=sM+-60s8t28NDogoA36xJoZowwU3hErOg@mail.gmail.com>
In-Reply-To
<xmqqoay9wvo6.fsf@gitster.dls.corp.google.com>
That is good to hear.  I would be pretty happy about that. ^.^

Obviously any major changes will need to be done carefully. I was thinking of the way that you guys introduced new defaults for Git 2.0, phasing them in slowly through the 1.x cycle. Maybe I can get my hopes up for Git 3.0 --- 9 years from now :P

On Tue, Jun 3, 2014 at 4:05 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 29 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> Mara Kim <mara.kim@vanderbilt.edu> writes:
>>
>>> Apologies if this question has been asked already, but what is the
>>> reasoning behind making git clone not recursive (--recursive) by
>>> default?
>>
>> The primary reason why submodules are separate repositories is not
>> to require people to have everything.  Some people want recursive,
>> some others don't, and the world is not always "majority wins" (not
>> that I am saying that majority will want recursive).
>>
>> Inertia, aka backward compatibility and not surprising existing
>> users, plays some role when deciding the default.
>>
>> Also, going --recursive when the user did not want is a lot more
>> expensive mistake to fix than not being --recursive when the user
>> wanted to.
>
> Having said all that, I do not mean to say that I am opposed to
> introduce some mechanism to let the users express their preference
> between recursive and non-recursive better, so that "git clone"
> without an explicit --recursive (or --no-recursive) can work to
> their taste.  A configuration in $HOME/.gitconfig might be a place
> to start, even though that has the downside of assuming that the
> given user would want to use the same settings for all his projects,
> which may not be the case in practice.
>
-- 
Mara Kim

Ph.D. Candidate
Computational Biology
Vanderbilt University
Nashville, TN
Previous: Junio C HamanoNext: Chris Packham
Message 4 of 21 in “Paper cut bug: Why isn't "git clone xxxx" recursive by default?”
  1. Mara KimJun 3, 2014
  2. Junio C HamanoJun 3, 2014
  3. Junio C HamanoJun 3, 2014
  4. Mara KimJun 3, 2014
  5. clone: add clone.recursesubmodules config optionChris Packham, Jun 4, 2014
  6. Junio C HamanoJun 4, 2014
  7. Jens LehmannJun 4, 2014
  8. Junio C HamanoJun 5, 2014
  9. W. Trevor KingJun 5, 2014
  10. Heiko VoigtJun 6, 2014
  11. Jeremy MortonAug 2, 2017
  12. Stefan BellerAug 2, 2017
  13. Heiko VoigtJun 4, 2014
  14. Chris PackhamJun 5, 2014
  15. Heiko VoigtJun 6, 2014
  16. Junio C HamanoJun 6, 2014
  17. Jens LehmannJun 9, 2014
  18. W. Trevor KingJun 9, 2014
  19. Jeremy MortonOct 3, 2016
  20. Stefan BellerOct 3, 2016
  21. Heiko VoigtOct 4, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.