Thread (15 messages) 15 messages, 6 authors, 2018-05-01

Re: [PATCH 0/4] subtree: move out of contrib

From: Stefan Beller <hidden>
Date: 2018-04-30 21:38:11

On Mon, Apr 30, 2018 at 1:45 PM, Avery Pennarun [off-list ref] wrote:
On Mon, Apr 30, 2018 at 5:50 AM, Ævar Arnfjörð Bjarmason
[off-list ref] wrote:
quoted
I think at this point git-subtree is widely used enough to move out of
contrib/, maybe others disagree, but patches are always better for
discussion that patch-less ML posts.
I really was hoping git-subtree would be completely obsoleted by
git-submodule by now, but... it hasn't been, so... no objections on
this end.
No objections from me either.

Submodules seem to serve a slightly different purpose, though?

With Subtrees the superproject always contains all the code,
even when you squash the subtree histroy when merging it in.
In the submodule world, you may not have access to one of the
submodules.

Submodules do not need to produce a synthetic project history
when splitting off again, as the history is genuine. This allows
for easier work with upstream.

Subtrees present you the whole history by default and the user
needs to be explicit about not wanting to see history from the
subtree, which is the opposite of submodules (though this
may be planned in the future to switch).
The gerrit team (eg. Stefan Beller) has been doing some really great
stuff to make submodules more usable by helping with relative
submodule links and by auto-updating links in supermodules at the
right times.  Unfortunately doing that requires help from the server
side, which kind of messes up decentralization and so doesn't solve
the problem in the general case.
Conceptually Gerrit is doing

  while true:
    git submodule update --remote
    if worktree is dirty:
        git commit "update the submodules"

just that Gerrit doesn't poll but does it event based.
I really wish there were a good answer, but I don't know what it is.
I do know that lots of people seem to at least be happy using
git-subtree, and would be even happier if it were installed
automatically with git.
https://trends.google.com/trends/explore?date=all&q=git%20subtree,git%20submodule

Not sure what to make of this data.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help