From: <dag@cray.com>
To: Hilco Wijbenga <hilco.wijbenga@gmail.com>
Cc: Git Users <git@vger.kernel.org>
Subject: Re: organizing multiple repositories with dependencies
Date: Tue, 24 Apr 2012 12:17:12 -0500 [thread overview]
Message-ID: <nnghaw93v8n.fsf@transit.us.cray.com> (raw)
In-Reply-To: <CAE1pOi38krwXZuiYxtpLwm92N=NvWkP30V_=6cnHw=sdyk6QhA@mail.gmail.com> (Hilco Wijbenga's message of "Tue, 17 Apr 2012 14:43:37 -0700")
Hilco Wijbenga <hilco.wijbenga@gmail.com> writes:
> I'm assuming that if you have subproject S in umbrella project U and a
> branch "topic" in U then that same branch should exist in S.
No, I think that is actually very rare. If topic branches really should
be mirrored then U and S should be one repository. They are too closely
coupled to be separated. But see the but about git-subtree and topic
branches below.
For release tags, etc. I agree that this kind of mirrored tag/branch
behavior is the common case.
>> If you want the behavior you describe, a post-receive hook on the
>> component repositories is easy to implement.
>
> [1] Would such a post-receive hook be something that the user has to
> set up? Or would that be automatically set up after git clone?
The user/admin would have to set this up, at least for now.
> The main problem with the current submodule support is that there is
> so much manual work needed. It is too easy to forget a step. Moreover,
> it's not easy to determine *that* you forgot a step or which step you
> forgot.
I agree. We can certainly make things more user-friendly.
>> Of course, this is entirely driven by git-subtree's model of actually
>> incorporating subproject history into one big umbrella repository.
>> There is no separation between the subprojects and umbrella projects.
>> It's one giant history. Therefore, push/pull to/from subprojects are
>> explicit operations. That's probably not the best model for every
>> situation but I find it very nice.
>
> I do not have enough (okay, any) experience with subtree to comment on
> that. The first part seems just what I want. I'm not sure about the
> explicit pushing/pulling part. That sounds too much like asking for
> the sort of problems that scared us away from submodules. Hopefully,
> I'm dead wrong. :-)
With subtrees, a topic branch in the umbrella project WILL be reflected
in the subproject because it is really one big repository. It's a
little inconvenient to subtree push a new tag at the moment. You have
to do a subtree split to a new branch and then push the branch to the
original component repository. That's one thing I want to improve in
the short term. I have found a need for then when creating release
tags.
But still, it seems odd to me that you'd create a topic branch in U and
then want to push it to a separate S repository. Topic branches are by
nature ephemeral and I have never had a need to do something like that.
It just seems to go against the grain of what a topic branch is. As I
said above, release tags and such are in a different category and that
is the main target of the subtree push enhancements I want to make.
>> But I don't agree
>> that we'll be able to design one model that works for everyone. svn
>> externals are just one model to aggregate projects but it is not the
>> only one. It just happens that no one working on Subversion bothered to
>> implement anything else.
>
> :-) I think I made it pretty clear that I was listing what *I* want.
> What *I* am looking for is something that is as invisible and
> automatic as possible.
Absolutely.
> That all sounds good. As long as the hooks are automatic (I'm hopeful
> you said "no" and "yes" to [1] above). If so, then I can promise you
> I'll be taking a look at subtree. :-)
I think at the very least we can provide setup scripts in contrib. To
be honest I haven't thought deeply enough about this to determine if
there's a way to make it more convenient.
-Dave
next prev parent reply other threads:[~2012-04-24 17:20 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-16 9:27 organizing multiple repositories with dependencies Namit Bhalla
2012-04-16 14:30 ` Jakub Narebski
2012-04-16 20:08 ` dag
2012-04-17 17:29 ` Hilco Wijbenga
2012-04-17 17:51 ` dag
2012-04-17 18:37 ` Seth Robertson
2012-04-17 19:55 ` Hilco Wijbenga
2012-04-17 20:51 ` dag
2012-04-17 21:43 ` Hilco Wijbenga
2012-04-17 22:25 ` PJ Weisberg
2012-04-17 22:49 ` Hilco Wijbenga
2012-04-18 10:15 ` Namit Bhalla
2012-04-18 12:09 ` Jens Lehmann
2012-04-24 17:17 ` dag [this message]
2012-04-24 18:54 ` Hilco Wijbenga
2012-04-24 21:09 ` PJ Weisberg
2012-04-24 22:04 ` Hilco Wijbenga
2012-04-24 23:33 ` dag
2012-04-30 19:25 ` Phil Hord
2012-04-30 19:43 ` dag
2012-04-18 12:19 ` Jens Lehmann
2012-04-24 17:22 ` dag
2012-04-24 17:59 ` Seth Robertson
2012-04-24 20:26 ` Jens Lehmann
2012-04-24 20:52 ` Seth Robertson
2012-04-24 23:21 ` dag
2012-04-28 17:31 ` username localhost
2012-04-24 23:25 ` dag
2012-04-25 12:48 ` Seth Robertson
2012-04-27 14:23 ` dag
2012-04-24 19:48 ` Eugene Sajine
2012-04-24 22:11 ` Hilco Wijbenga
2012-04-24 23:38 ` dag
2012-04-24 23:36 ` dag
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=nnghaw93v8n.fsf@transit.us.cray.com \
--to=dag@cray.com \
--cc=git@vger.kernel.org \
--cc=hilco.wijbenga@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.