The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Keeping Your Versions In a Line

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Keeping Your Versions In a Line Posted: Oct 10, 2003 3:46 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Keeping Your Versions In a Line
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Travis Griggs - Blog

Advertisement
Do you like your versions forked or branched?
I will not, cannot, have them forked.
I do not, will not, like them branched.
I am sad, not glad, the graph is horked.

We can do this, yes we can.
There is a way, we have a plan
We'll keep them versions in a line!
Now your graph, it looks just fine.

Take package Yutz. You're working on it. Sometimes, so does your friend BillyBob. Yesterday, you loaded up the most recent version of Yutz (version 59), and started refactoring the Yutz package's support of gummi bear blending. In the mean time, BillyBob loaded 59, and has been happily pounding away at the new bales-n-targeting eye candy. He's a code demon, he finished last night, and published version 60.

Happy that your testGlummiBearBlending tests now pass, you're ready to publish. You hit the publish button. What!?? It wants you to publish version 59.1. You could publish. Then merge. Then publish again. Each time this happens of course, your nifty version graph shown by the excellent tools provided by RBStoreExtensions draw something that looks more and more like a fractal equation.

Or you could keep the version line straight. This after all wasn't really a legitimate "branch". It's not like you "forked" the project to go in two totally different directions. You just need a way of serializing your otherwise parallel development efforts.

First we save your image. This way, if you don't trust Store, you've got a back up. Isn't that better than littering the repository with intermediate versions?

Second, go to the package version graph, scroll to the end, get the menu for version 60 (BillyBob's latest version), and select merge into image. Up pops the list. Many claim this list confuses or scares them. I've never had real problems with it. I pick the ones with the open boxes (when there are any -- if there are lots, you've got other problems), and choose the resolution. I guess, I just trust the thing, and it's worked out.

Third, select the File/apply resolved and close the merge list window. It's gonna complain that you didn't publish the merged stuff. Duh! Isn't that what we're trying to do here? We'll get it. IOW, ignore the warning, select Yes.

Fourth (this is the not-so-obvious part), select package Yutz in the RB's package list, and get the menu option Versions/Reconcile With Database. Up pops a warning. Again with the "duh!". We know what we're doing; select Yes. When the list selection dialog of all Yutz versions opens, select version 60 of Yutz.

Fifth, publish your package. It'll default to version 61. And your graph will stay nice and straight. And your code repository has real "units of work" in it now.

Read: Keeping Your Versions In a Line

Topic: BottomFeeder OPML support Previous Topic   Next Topic Topic: Computers in Schools

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use