Feature suggestion - Reparent as alternative to Reconcile

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Feature suggestion - Reparent as alternative to Reconcile

Paul Baumann

There should be two options for reconciling. Right now, if I reconcile a cleanly loaded bundle to the same version it will compare all the code in all the packages even though the packages are already cleanly loaded. That is fine for most scenarios, but not efficient for some very useful ones. Reconcile is frequently used to re-parent your changes prior to publishing; for example:

 

This is the integrated release path version:

 

                BundleA 1.0 213.0

                                PackageA 1.0 200.0

                                PackageB 1.0 213.0

                                PackageC 1.0 211.0

 

Here are changes loaded into a developer's image:

 

                BundleA * 1.0 213.0

                                PackageA 1.0 200.5

                                PackageB 1.0 213.0

                                PackageC * 1.0 211.0

 

PackageA has a different development-blessed version loaded. PackageC has unpublished modifications. User wants to create the next integration build named BundleA 1.0 214.0 that would look like this when complete:

 

                BundleA 1.0 214.0

                                PackageA 1.0 214.0

                                PackageB 1.0 213.0

                                PackageC 1.0 214.0

 

One way to get there would be to publish PackageC, reload BundleA 1.0 213.0, merge the newer versions of PackageA and PackageC, and then publish BundleA. A faster way to get there is to reconcile BundleA to version 1.0 213.0 and then publish BundleA.

 

The problem I have with the reconcile technique is that it would also spend time checking PackageB for changes even though it is cleanly loaded. When you have a lot of code and nested bundles then this is very slow. The traditional load and merge technique can actually be faster only because the reconcile does more than is necessary. Sometimes you want a deep reconcile, in this case you only want to reconcile the minimal amount that appears to have changed from the version being reconciled to. I call this specialized reconcile a "Reparent".

 

The "Release Assistant" that I include in GemKit for VW has the ability to re-parent a version rather than doing a full deep reconcile of all code. The ability to re-parent a bundle is far more efficient than doing a full reconcile. I suggest that it be added to VW as a standard feature.

 

Paul Baumann

 

 



This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc