Question

I have such a problem:

When customer asked for a new feature of our system,we patched all the changed files into a patch and send it to a workmate who work with customer and do the release.

However,not every patch released in order.So,there is a chance patch A is depending patch B but patch B is releasing in front of patch A.

Due to the workmate is not familiar with programming so he can't figure out the reason.I have to spend time to see what's wrong.

When the number of patch waiting for release is growing up,releasing a patch seem like a nightmare for us.

Is there a tool for such dependency analysis?so we can see the dependency of patch and can reduce the time spending for figure out the dependency.

Thx a lot.

Was it helpful?

Solution

You can do it using any dependency management system like Maven, internal artifact repository for production-ready components (like Nexus) and release branches for hot-fixes (if you have to ship updates in a near realtime way).

Using this approach you get:

  1. Testing of any complete release (including integration tests) which you ship to a customer.
  2. Dependency-broken versions are not to build, because you can switch to production-ready repository for pre-ship build.
  3. You can mark production packages with SCM tags and know what exactly is pushed to a customer.
  4. You can simply make a diff between shipped and current package.

In few words: Divide development and production releases and you protect yourself to build a dependency broken production package.

OTHER TIPS

the correct way to handle these situation is using a Configuration Management procedure.

a simple one, for example, involves a CVS/SVN and a changelog between revision A and revision B.

every file in the changelog will compose the patch.

a more complex procedure will introduce baselines and intermediate releases.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top