Chris,

You may want to have a look at the ray extension. It enables you to manage your extension also as git submodules. I just discovered this extension and enhanced my fork to accept a 'remote' variable either on the command line or within the bundles extensions.yml (to install a bunch of extension), so you can add git remotes automatically with the installation of the extension. There is also a new rake task ray:pull that pulls all remote sources to the submodule. This comes handy when you're developing an extension that you have forked.

Michi

On 17 Oct 2008, at 5:03 PM, Chris Parrish wrote:

So, to make sure I understand...

If I have an extension of mine in a submodule of a project, I can develop within that extension:

  * make changes in that copy of the extension (testing its behavior
    as part of the project)
  * commit those changes to the submodule's repo
  * manage branching (gitk, etc) from within that submodule

If so, that helps me a lot. Everything I'd read made it sound like submodules don't behave like a working git repo which is why I thought you couldn't push changes back to the original -- that submodules only permitted data transfer one-way (from source to your local copy).

-Chris

Sean Cribbs wrote:
Like svn:externals, you can maintain a submodule in a project, commit to it and push it while maintaining the parent project. However, whenever you've changed something in the submodule, it's necessary to go back up to the parent project, commit the submodule directory, and possibly do `git submodule init` and `git submodule update` (I don't know if that's strictly necessary, but I like to do it to be certain). That will make sure that the next time your parent project is checked out, it will get the latest submodule version.

Sean

Chris Parrish wrote:
Trying to get up to speed with a Git workflow and I have some questions about working with extensions.

If I have a radiant project A that uses someone else's extensions B, C, and D. I understand that I can create a repo for radiant project A set up all the extensions as submodules (if they're all in git repos).

If, on the other hand, I'm developing extension B, I could set up a dummy project A (no repo), and set up B, C, and D as independent, parallel repos. No submodules. With B being the one I'm working on, managing, branching, etc. of course.

But what if I'm developing extension B along with project A? If you edit code within a submodule B, there's no way to send those changes back to the original B repo (or use branching, or other git tools) on B is there? Git isn't really tracking your changes on B is it?

Is there some way to handle this development situation or am I just going about this wrong?

Is piston or braid an option here and if so, is anyone using it successfully?

Thanks,


-Chris Parrish


_______________________________________________
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant


_______________________________________________
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

_______________________________________________
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

_______________________________________________
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to