What do you do if the function is disabled at the last moment?

Suppose you are working on a large project with several features designed for each version. We can have different function branches (in VCS) for each function. But after the entire functional branch is merged and integration is completed, one of the functions is discarded (this happens more often in our organization than you could imagine). Is there a way to drop the function at this point? We usually do this to find out all code changes and manually undo. Do you have any processes / best practices that will help reduce this effort? For the record, we have a java project with subversion as VCS.

+6
version-control process project-management release-management
source share
2 answers

It depends on why you dropped this function.

If "at the last moment" during system testing, and you do not want to repeat it, I would say that you simply disable this function and send it anyway.

We have done this in the past; removing this feature may be too risky in terms of creating additional errors. If you no longer want this function (for example, the requirement is gone, or the implementation was recognized as incorrect), then it is probably better from the point of view of risk to simply disable it with minimal code changes.

I mean, remove or hide user interface elements that activate this function, then users will not know it there (if it is disabled by default).

We hope that in a future release there will be an opportunity to reorganize this part of the code and either remove this function or re-enter it correctly.

+5
source share

If you use TortoiseSVN as a client, it has a "roll back changes from this revision" right in the context menu.

Just show the log of the working copy and select the version that you want to change-merge (in the case, the version representing where you merged into the function branches).

alt text http://img64.imageshack.us/img64/9053/svnreversemerge.png

Otherwise, you can perform reverse merging from the command line. A reverse merge creates a new revision, which is a HEAD revision, minus the changes made to the revision that you discard from the back, so you can always collapse the β€œreverse reverse” merge. SVN is great for this.

+1
source share

All Articles