Subject: Re: [PATCH/RFC] Documentation: Say that submodule clones use a separate gitdirs.

From: Henri GEIST <[email-masked]>
Date: Mon, 10 Mar 2014 08:52:26 +0100

Le dimanche 09 mars 2014 à 19:24 -0400, Andrew Keller a écrit :
> On Mar 7, 2014, at 7:50 PM, Henri GEIST wrote:
> > Le vendredi 07 mars 2014 à 15:37 -0800, Junio C Hamano a écrit :
> >> Henri GEIST <[email-masked]> writes:
> >> 
> >>> This information is technical in nature but has some importance for general users.
> >>> As this kind of clone have a separate gitdir, you will have a surprise if you
> >>> copy past the worktree as the gitdir will not come together.
> >> 
> >> I am not sure if I understand exactly what you are trying to say.
> >> Are you saying that you had a submodule at "sub/dir" in your working
> >> tree, and then "mkdir ../another && cp -R sub/dir ../another" did
> >> not result in a usable Git working tree in ../another directory?
> >> 
> >> It is almost like complaining that "mkdir ../newone && cp -R * ../newone/"
> >> did not result in a usable git repository in ../newone directory and
> >> honestly speaking, that sounds borderline insane, I'd have to say.
> >> 
> >> Yes, if a user knows what she is doing, she should be able to make
> >> something like that work, without running "git clone" (which is
> >> probably the way most users would do it).  And yes, it would be good
> >> to let the user learn from the documentation enough so that she
> >> "knows what she is doing".  But no, I do not think end-user facing
> >> documentation for "git-submodule" subcommand is the way to do that.
> >> 
> >> That is why I suggested repository-layout as potentially a better
> >> alternative location.
> >> 
> >> But perhaps I am mis-reading your rationale.
> >> 
> >> 
> > 
> > Let me rephrase my example :
> > 
> > To give one of my project to someone else I have copied it on a USB key.
> > By a simple drag and drop with the mouse.
> > And I am quite sure I am not alone doing this way.
> > 
> > I have done those kind of things lot of time without any problem.
> > But that day 'the_project' happened to be a submodule cloned by
> > 'git submodule update' then on the USB key the $GIT_DIR of 'the_project'
> > was missing.
> > 
> > If 'man git-submodule' have made me aware of the particularities of submodules
> > clone I had write in a terminal:
> > 
> > git clone the_project /media/usb/the_project
> > 
> > Or at least I had understand what happened quicker.
> > 
> > I have nothing against also adding something in repository-layout but I am
> > pretty sure normal users never read repository-layout as it is not a command
> > they use. And it is not mentioned in most tutorials.
> 
> How about something like this:
> 
> "The git directory of a submodule lives inside the git directory of the parent repository instead of within the working directory."
> 
> I'm not sure where to put it, though.
> 
>  - Andrew Keller
> 

'git directory' seems ambiguous to me. Maybe we could use 'git metadata'.