Re: GIT and Cloning Remote Repositories into "Local Remote" Repositories

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

 



On 9/20/10 6:37 PM, Casey Dahlin wrote:
> On Mon, Sep 20, 2010 at 06:22:09PM -0700, Grant Erickson wrote:
>> Perhaps 'submodules' are what I am looking for?
>> 
> 
> Yup, exactly :) the manpage git submodule should get you going.

Casey:

Thanks for the prompt reply.

I spent some time over the weekend playing with the various submodule
tutorials and I wasn't left feeling convinced that it's the right solution,
particularly with the added complexity around commits and pushes (trailing
slashes, etc.) that I am sure my users are going to get wrong more often
than right.

In further explorations, it occurred to me that the "subtree" merge strategy
might be another, perhaps, better alternative. However, when I tried it
based on the example at
http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.ht
ml, I got some results that were unexpected, such as files showing up where
I didn't want them to: top-of-tree rather than the intended subdirectory.

Basically, I am starting out a project with x-loader, u-boot and linux based
on the Arago project GIT at tag OMAPPSP_03.00.01.06, from which TI's
somewhat-dated PSP is based:

    git://arago-project.org/git/projects/x-load-omap3.git
    git://arago-project.org/git/projects/u-boot-omap3.git
    git://arago-project.org/git/projects/linux-omap3.git

At some point, once my system is stable, I'd like to merge both u-boot and
linux up to mainline revisions/tags with my local changes included from:

    git://git.denx.de/u-boot.git
    git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

My tree is organized roughly as:

    root/
        .git/
        fw/
            u-boot/
                Makefile
                u-boot/
                    <Actual contents of GIT tree here>
            x-loader/
                Makefile
                x-loader/
                    <Actual contents of GIT tree here>
        sw/
            tps/
                linux/
                    Makefile
                    linux/
                        <Actual contents of GIT tree here>

My ideal workflow would be:

    1) Merge Arago GIT git://arago-project.org/git/projects/u-boot-omap3.git
to root/fw/u-boot/u-boot/.
    2) Make local changes.
    3) % git commit ...
       % git push <to GitHub repo master>
    4) Make more local changes.
    5) % git commit ...
       % git push <to GitHub repo master>
    6) Ad infinitum until local changes are stable
    7) Merge Denx GIT git://git.denx.de/u-boot.git @ v2010.09-rc2 to
root/fw/u-boot/u-boot/.
       % git <something> ...
    8) Resolve conflicts, commit and push to GitHub repo master.

And so on for the linux subtree as well. Any further tips or course
corrections you can offer, particularly relative to subtree merges?

Best,

Grant


--
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]