Right way to develop around Orchard and its GIT repository

Topics: Administration, General
Sep 13, 2013 at 1:06 AM
I'm trying to find a way to setup my local Orchard clone, which I'm using as part of my overall solution, and still have a convenient local repo that can always fetch remote updates from the main Orchard repo.

Orchard ships with a main solution: Orchard.sln, and a number of projects. I wanted to add more projects around (unrelated to Orchard itself, they are just part of my overall application), and leave the original Orchard.sln intact so it can always fetch updates. For that reason, I created a separate solution file, and manually added all Orchard projects to it, including their dependencies, which I think was a bad idea (I mean, it now seems awkward. There should be another way of building my own thing around Orchard.sln while syncing with the main repo without me building a brand new Solution).

Also, regarding Themes and Modules folder - similar problem - if I add folders/files within, they get to be part of the Orchard.Web project and then every pull will introduce merges and merge conflicts which I'll have to address.

I'm pretty sure there is a better solution for this scenario. Would appreciate any help.
Coordinator
Sep 13, 2013 at 1:14 AM
Why didn't you copy Orchard.sln as MyOwnOrchard.sln and start from that?
Sep 13, 2013 at 1:58 AM
I did, at the beginning, but I had some issues around that. Long story. But generically, it's the other issues I mentioned as well (Themes, Modules) so I'd appreciate any insight on this.
Also: When changes are done to the Orchard.sln file, should I manually monitor them when I fetch and replicate them in my own .sln file or is there a better way?
Coordinator
Sep 13, 2013 at 2:28 AM
You should not have issues around that. I've been doing that for years, and so have lots of others. Not sure what you mean about modules and themes: they should not be added to the Orchard.Web project. If you do "add existing project" from the Modules and Themes solution folders, they won't.
You should reproduce most changes to the Orchard.sln file, yes.
Sep 13, 2013 at 2:48 AM
Thanks for that Bertrand.
Regarding Themes and Modules - besides the SLN/CSPROJ issues - How should I treat them in terms of the GIT repo? I'll expand on that: I'm committing my Modules & Themes additions/changes to my local GIT repo. One day, I'll want to push back to the central Orchard repo (make a Pull Request, to contribute to the project). In that case, my private Modules/Themes files will also be pushed. Should I separate them from the main repo? How? Is there a known best practice?
Coordinator
Sep 13, 2013 at 2:53 AM
Great question. I'm not sure what's the best setup for that. I keep my contributions in a separate clone, and never push from my site-specific clones. That forces me to copy things around sometimes. If someone has a better setup, I'd love to hear about it.
Sep 13, 2013 at 2:56 AM
OK, thank you very much Bertrand.
If someone has a solution to that scenario please add to this discussion. If I'll come up with one I'll obviously will.
Dec 8, 2013 at 11:41 AM
ofer_z
I have been trying to find a solution of what you described above check the link below
http://stackoverflow.com/questions/19002060/orchard-repository-synch
Dec 8, 2013 at 9:58 PM
Thanks for that makeitinteractive!