|
|
Choosing A Webhost: |
cherry-pick, undo, and rollback UI: msg#00016version-control.revctrl
There are several different interfaces to cherry-picking and rollback, and I'm sort of on the fence about which one(s) it's best to support. For cherry-pick, the obvious interface is 'apply the diff from version X to version Y to my local version'. There's also 'pull everything just from file F to my local version' (we've been calling this 'selective update', and it's reasonably easy to support without supporting full-blown cherry-pick, but is a form of cherry-picking nonetheless). Finally, there's the interface where you say 'pull in everything which is new in X as conflict markers', then you locally pick and choose which changes to accept, then do a checkpoint, and it gets treated as a cherry-pick. For rollback, there's a lot more subtlety and nuance. The basic functionality is 'take the diff from version X to version Y, undo it from my local version, and let it get re-done when I merge with a descendant of version Z'. Undo simply leaves off the version Z. Note that Z frequently is pointing out to a version which hasn't been updated from locally. I think a good modification of this approach is 'take all modifications which were made by a descendant of X and an ancestor of Y, undo them locally, and redo them when I merge with a descendant of Z'. That does a good job of avoiding undoing unrelated changes which just happened to get checked in. Another interface is to do it cherry-picking style, and update everything which is different in version X as conflict markers, then manually pick out what to remove, checkpoint, and have it treated as a rollback, again to be undone next time one merges with version Z. It also may make sense to not really have a specified version Z, and instead have the system warn the user when there was a conflict with a rollback, and have an easy way of saying 'well then, undo the rollback'. Obviously rollback has the least nice interface here, although honestly I think that anybody stuck needing rollback will be so desperate for something which works they won't complain about interface all that much. -Bram
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Marginal features, Bram Cohen |
|---|---|
| Next by Date: | Re: Marginal features, Ganesh Sittampalam |
| Previous by Thread: | Marginal features, Bram Cohen |
| Next by Thread: | Re: tailor monotone update, Lele Gaifax |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |