2

I'm looking for source control options for code that resides on multiple client sites outside my network. The core of the code files are all the same but each client needs certain files customized for their own purposes. I'm wondering if there's a way I can keep all the core files and each of our clients' custom files "together" in one source control software.

Currently we have not source control for any of it. We log into each client's site via RDP and edit their code files individually. When we want to test a change, we either test on their servers, or copy the files back locally and test. It would be nice to be able to make those changes locally through source control, then deploy those changes to their server after testing locally.

Another hurdle we have is when we make an update to the core code, we now have to make the exact same change at all our clients' sites. Any good options for this type of situation?

  • Voted to close as **off-topic**. *Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.* – bahrep Jul 13 '16 at 17:17

2 Answers2

0
  • With Apache Subversion, you could use vendor branches. That's exactly what they were designed for:

    The core of the code files are all the same but each client needs certain files customized for their own purposes. I'm wondering if there's a way I can keep all the core files and each of our clients' custom files "together" in one source control software.

    There is also svn-vendor.py Python 3.3+ script that should help automate the process of maintaining vendor branches. svn-vendor.py replaces svn_load_dirs.pl Perl script which is obsolete nowadays AFAIK.

  • Since @MikeFechner has already mentioned Perforce, here is their KB article about Perforce-flavored version of vendor branches: Creating Vendor Branches for Third Parties with Perforce.

bahrep
  • 29,961
  • 12
  • 103
  • 150
0

I would look into perforce. IMHO the most advanced SCM when it comes to branching and merging.

Mike Fechner
  • 6,627
  • 15
  • 17
  • How does this answer the question? – bahrep Jul 13 '16 at 17:16
  • The OP is seeking for a version control and describes a scenario with some customization to a common code base. And is seeking for the ability to update a large number of customized code lines from the master when that changes. How else would you address this than with a SCM tool that is great at branching and merging? – Mike Fechner Jul 13 '16 at 17:19
  • You don't provide any guidance here to help John. You simply tell your IMHO about Perforce being great at branching and merging. Perforce is good, but you don't answer the actual question. – bahrep Jul 13 '16 at 17:22
  • How is just mentioning two scripts to overcome SVN shortcomings more helpful? – Mike Fechner Jul 13 '16 at 17:24
  • I'm pointing to the official documentation and do not operate with comparatives. – bahrep Jul 13 '16 at 17:25
  • With perforce no addon scripts are needed. Branching, integrating and merging comes out of the box. Here's a tutorial: https://www.perforce.com/resources/tutorials/branching-basics - for more and clearer advice it wold be helpful to know more about how the customized files relate to the core, i.o.W., are the mods on the core, or in special customization modules. Based on what files are most likely to be customized, there may be different best practices. By the way, I'm just a very satisfied user of Perforce for over 12 years. I'm not associated to the product or any company behind the product. – Mike Fechner Jul 13 '16 at 17:31
  • I'm sure you'll find more k-base articles there. Point is, this is just applying the core branching and merging capabilities of Perforce. – Mike Fechner Jul 13 '16 at 17:34