Re: Submodules and merge conflicts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 21, 2009 at 9:22 AM, Henk <henk_westhuis@xxxxxxxxxxx> wrote:
> Instead of using the sha1 of a specific revision in the submodule, I would
> find it more logical to use a branch-name or tag. This way you can commit on
> the submodule without having to commit the new submodule revision to the
> main repository also.
>
> I would like to hear your thoughts on this. Maybe we are using submodules
> wrong, or maybe this is already possible.

The primary advantage of the git submodule code is the ability to lock
to a specific sha1.  If you don't want to do that, you're not going to
get much benefit from using submodules.

One option here is to simply skip the 'git submodule' altogether and
just have a script that checks out the other git repositories into
subdirs.  Then you have total control over which branches, etc are
included, the changes to the script (eg. to change which branch you
want to use) can be merged just like changes to anything else.

We do something in between on our internal projects: we use git
submodules to lock in the sha-1 (it's really valuable to know
*exactly* which version of everything was used in a particular
release), but we have scripts to auto-update the sha-1 for each
submodule to the tip of the right branches.

For some other projects, we also use the git-subtree tool I developed
(http://alumnit.ca/~apenwarr/log/?m=200904#30) but given that your
submodules are huge things like the Linux kernel, it's probably not
appropriate in your case.  You might want to look at it anyway in case
I'm wrong.

Have fun,

Avery
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]