Thread (23 messages) flat view 23 messages, 6 authors, 2016-06-15

Re: [RFC] Third round of support for cloning submodules

From: Martin Waitz <hidden>
Date: 2016-06-15 22:43:11

hoi :)

On Mon, May 21, 2007 at 12:58:10AM +0200, Alex Riesen wrote:
Martin Waitz, Mon, May 21, 2007 00:14:55 +0200:
quoted
quoted
 - Do we detach HEAD if the commit named by the superproject
   tree is not at the tip of the current branch of subproject?
   do we detach always even if the commit is at the tip?
We must not mess with random upstream branches of the submodule
just because they happen to reference the same tip.
That would be too confusing.
Strange. The very same reason I heard when I tried to explain why
branches are good. The people found them confusing, just like you now.
They preach Perforce, too.
Sorry, you lost me.

I didn't say that branches are bad but that guessing branch names based on
their tip is bad.

quoted
Either use one special branch or detach.
Why not just detach always?
Which is just another name for "unnamed special branch" ;-)
When you give it a name you can actually use it even after you switched
to another one.
quoted
quoted
 - What would we do when the subproject working tree is not
   clean?
The same as with normal files:
error out if something is changed which conflicts with the requested
update.
This is called tree-level merge. Done by -m option (it does more than
that, yes, but this one too). While at it we can do file-level merge
as well, why not?
It's not that easy, for submodules we have different levels of dirty:
 * submodule HEAD matches supermodule index, but submodule working
   directory is dirty.
   If the submodule update would touch any modified file then it should
   fail.
   If used with -m (or perhaps another option? after all this merge
   is in a submodule) then it could do the file-level merge for dirty
   files.
 * submodule HEAD does not match supermodule index
   normal checkout should error out if it would touch the submodule.
   checkout -m has to merge submodule HEAD
And of course:
 * index entry of submodule does not match the entry in supermodule HEAD.
   Same as for files.

quoted
When we have a special managed-by-supermodule branch and the submodule
has another branch currently checked out we can entirely ignore this
issue.
Detached head isn't special enough?
it's too special ;-)

-- 
Martin Waitz

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help