-1

I have a git repository using BitBucket for a PHP webapp that we purchased from a vendor. We use the repository to make enhancements to the vendors original webapp.

The issue is that the vendor frequently release new versions for which we need to manually reapply all the enhancements we've made to the product.

I'm wondering if there is any way we can use git or any other tool that we can apply our enhancements without having to do it manually.

I'm fair new to Bitbucket and Git in general so advice would be appreciated. I'm looking at using branches for our enhancements but I don't think that can work since the underlying code changes in the new versions from the vendor.

kaskelotti
  • 4,709
  • 9
  • 45
  • 72
user3658991
  • 95
  • 1
  • 5

1 Answers1

0

Using branches should do the job. For example, put all the releases coming from the vendor to one branch called vendor. Create a version number for each release and tag them. Keep your modifications in master and merge each release to your code in master.

Git and other version control systems will provide you some help in sense of auto merge, but once there's a conflict (edits on same line of file, deleted files etc), you'll have to resolve them manually.

Key points to make this successfull are

  1. Stick to the versioning schema you select. Take a look at semantic versioning.
  2. Create a complete set of automated (unit) tests for your code to see that nothing breaks on vendor releases.

This is just one option that comes to mind, others will probably have more.

kaskelotti
  • 4,709
  • 9
  • 45
  • 72