Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m currently working on a project that has both an open-source \"community edi

ID: 660385 • Letter: I

Question

I'm currently working on a project that has both an open-source "community edition" and a set of closed-source features for paying clients. One of the pain-points right now is figuring out how to handle keeping the shared source in sync between projects.

We use Mercurial for source control, and the open-source piece is pushed to both CodePlex and Kiln, while the closed-source piece is pushed only to Kiln. We're presently keeping them in separate repositories with project references into the open-source repository where applicable.

Is this really the best way to handle this kind of situation, or if there's something I'm missing (like using a subrepository within the closed-source repository to contain the open-source portion) that might be easier and cleaner to work with?

Explanation / Answer

The real benefit of your subrepository idea is that it ties revision dependencies together between the two projects. In other words, if a new closed source feature depends on an open source version, when someone gets one they automatically get the other. If you back out to an earlier closed source revision in order to do a hotfix, you automatically get the open source revision you originally built it with. There are other ways, like configure or build scripts, to manage those kinds of dependencies, but they are more difficult to maintain.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote