hi , In my organization we want to use Stash , but I have a problem that I don't know how to solve with Git. Right now we have several projects that share code between them. This shared code is stored in a folder called CommonObjects.
When a programmer works on project A, uses the folder projectA and the folder CommonObjects, if other programmer works on project B,uses the folder projectB and the folder CommonObjects.
That way when , some code in then CommonObjects folder is modified affects both projects automaticatly.
I don't know how to approach it in Git, because if I created three repositories ( projectA , projectB and CommonObjects) how can I focus branching strategy?
When the programmer needs to create a new branch for a code change that affects both folders, it will have to do in the two repositories? And two pull request? In that way the code will not be in the same place and will be difficult to review the changes.
How can I manage this?
Reusable (or common) code management is always a challenge and is always difficult to address and not taken into account by a lot of tools. This problem isn't unique to Stash and/or Git. You run into it no matter which tools you are using though some do better than others.
You have two separate issues here. One is software configuration management (what are all the parts I need to build something) and the other is your change management strategy.
One of the most straightforward strategies is that your common code is handled as an SCM item of its own with development schedules, releases, issue tracking, etc. Then the other projects consume it (which is a different thing) as something released to it as you might from some vendor provided item.
How to consume it is another matter and depending on whether you want your build system to collect the necessary parts (typically referred to as a manifest approach like android repo or maven build systems) or you want your SCM systems such as Git to do it using either sub-trees or sub-modules. There are pros and cons to all of these approaches.
Which approach for all of this may depend on the size of your teams and the organization of your company. If you can't have a single team working on the common code and want to have multiple teams making changes to common code, you are going to have more of a challenge in the change management strategy (and the branching strategy within the repo). This may also alter how you want to bring all of the code together (your SCM strategy).
In my opinion, you need to understand your strategy and development flow then implement that in the tools.
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot