Thread (192 messages) flat view 192 messages, 22 authors, 2016-08-11

Re: [RFC] Submodules in GIT

From: Andy Parkins <hidden>
Date: 2016-08-11 19:54:47

On Thursday 2006 November 30 12:16, Andreas Ericsson wrote:
quoted
What is the "right" branch though?  As I said above, if you're tracking
one branch in the submodule then you've effectively locked that submodule
to that branch for all supermodule uses.  Or you've made yourself a big
rod to beat yourself with everytime you want to do some development on an
"off" branch on the submodule.
Perhaps I'm just daft, but I fail to see how you can safely track a
topic-branch that might get rewinded or rebased in the submodule without
crippling the supermodule. Wasn't the intention that the supermodule has
Who said anything but rebase/rewind?  As it happens though, I don't see why 
you can't (it wouldn't be pleasant though).  A rebase or rewind still leaves 
the original commit in the object database, so provided no one runs 
git-prune, there is no catastrophic failure.
a new tree object (called "submodule") that points to a commit in the
submodule from where it gets its tree and stuff? Is the intention that
the supermodule pulls all of the submodules history into its own ODB? If
so, what's the difference between just having one large repository. If
not, how can you make it not break in case the commit it references in
the submodule is pruned away?
I certainly never suggested anything /but/ storing a submodule type that 
stores the commit.  The current debate is about whether the supermodule 
should track HEAD or some defined branch in the submodule.
but then you're in trouble because the supermodule will have the same
files as all the submodules stored in its own tree. I'm confused. Could
someone shed some light on how this sub-/super-module connection is
supposed to work in the supermodule's commit objects?
I don't really know, I only joined in to stand up against commit in the 
supermodule triggering commits in the submodule.  That lead to me trying to 
get an understanding of how it would work.

As far as I can see, the only way a submodule is any use is if it is always a 
submodule-commit-hash that is noted in the supermodule tree object.  That 
means that the supermodule will only commit clean submodules.  The rest is 
just UI to show something useful in the difficult cases when the submodule 
tree is dirty.


Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help