Re: git subtrees [was Re: Panorama module for G3]

Bharat Mediratta <[email protected]> Thu, 17 Jan 2013 20:12:26 -0800
Newsgroups gmane.comp.web.gallery.devel
Message-ID <CAESa+_kaPYN1w6oyUh3AEfxEs4iHBA2oLkeVjoFACNrwhNKnJQ@mail.gmail.com>
Great info - thanks Mike!


On Tue, Jan 15, 2013 at 3:02 AM, Mike Miller <[email protected]> wrote:

> On Tue, Jan 15, 2013 at 8:42 AM, Mike Miller <[email protected]> wrote:
> > On Mon, Jan 14, 2013 at 10:43 PM, Bharat Mediratta <[email protected]>
> wrote:
> >> You can probably do some git magic to keep the two in sync, but my git
> fu is
> >> not good enough to tell you offhand.  Or you can just copy stuff over
> and
> >> submit pull requests every once in a while.
> >
> > There're few better motivators than being told by someone with more
> > experience that they don't know something :)
> >
> > The key appears to be subtrees; here's what I did (within my fork of
> > gallery3-contrib):
> >
> > git remote add -f panorama git-9UaJU3cA/F/[email protected]:mikeage/panorama.git
> > git merge  --squash -s ours --no-commit  panorama/master # The initial
> > commit should squash all of my development into one commit
> > git read-tree --prefix 3.0/modules/panorama -u panorama/master
> > git commit -m "Add panorama as a subtree"
> >
> > Subsequent development that I do in my repository can be taken into my
> fork via:
> >
> > git pull -s subtree --squash  panorama master # Or without --squash;
> > then the default is to commit unless --no-commit is specified
> >
> > It's not yet clear to me how I would merge a change that someone makes
> > in gallery3-contrib to my repo, but that's my problem, not yours :)
>
> I looked into this a bit more, and it seems like this is not the best
> solution, since pushing is rather tricky. Instead, I installed the
> contrib "subtree" module (included as of git 1.7.11), and this seems
> to do exactly what I want. I removed what I had above, and then ran
> the following
>
> git subtree add --prefix=3.0/modules/panorama
> git-9UaJU3cA/F/[email protected]:mikeage/panorama.git master --squash
>
> Updating the code in gallery3-contrib is done with:
>
> git subtree pull --prefix 3.0/modules/panorama panorama master OR
> git subtree pull --prefix 3.0/modules/panorama panorama master --squash
>
> And delivering changes to my repository can be done with:
>
> git subtree push --prefix 3.0/modules/panorama panorama master [--squash]
>
> Hopefully this will help someone else as well.
>
> -- Mike
>
>
> ------------------------------------------------------------------------------
> Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
> and more. Get SQL Server skills now (including 2012) with LearnDevNow -
> 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
> SALE $99.99 this month only - learn more at:
> http://p.sf.net/sfu/learnmore_122512
> __[ g a l l e r y - d e v e l ]_________________________
>
> [ list info/archive --> http://gallery.sf.net/lists.php ]
> [ gallery info/FAQ/download --> http://gallery.sf.net ]
>
>

------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812

__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]