2007-07-18

Source control

At work we use SourceSafe for our version control, and I used SourceAnyWhere as the client. I would like to outline the facts and let you decide what happened for yourself.

01: I checked out my model (EcoModeler)
02: I added a new class.
03: Generated code.
04: Checked in the mode.

05: Checked out.
06: Added two new associations
07: Generated code.
08: Checked in.

09: Checked out.
10: Added a parameter to a method.
11: Changes a state machine diagram.
12: Checked in.

After each of the changes I would implement code in my application that used them, so if the changes were lost at any point during this process then I would notice because my app would no longer compile.

Today I checked out the model and noticed that my new class was missing. I backed up my generated source code and then regenerated code from the model. Using BeyondCompare I checked for differences and came up with the list of changes in the steps above.

Somehow the model in my source control had 3 revisions missing. I checked the history and sure enough there were no check in actions since June 27th. I had to recreate the changes in my model by reading the differences.

So, what do you think caused this problem?

2 comments:

Anonymous said...

Hi Peter I was working my ECO Model with starteam 2005 and is difficult to following the track to the files, I mean work in group on the same model is very hard, imagine it:

a member of team do check in all project (model)

now Member1 do check out, Member2 do check out too, at this moment if both member open the starteam client all files has status current, but now a member open the IDE to load the project, at this moment, only for open the IDE and load the model, you will have differences between files, because ECO regenerate the source code and there will be differences between you local code and source in the starteam server, so is hard reconcilate it, always you have to do merge, so the solutions was only a person can modified the eco model, and do check in, other members only can do check out.

I know its not is a solution to your problem,it was sharing my experience using version control and ECO, do you have this trouble using other version control?

regards
Frank

Fábio said...

I think it's a case of "lack of Subversion" :)

Seriously, I used to have lots of problems with lost files/revisions when I worked with SourceSafe. I bet they get worse when using something like SourceAnyWhere.

Switch to Subversion and install http://www.visualsvn.com/ . That's all you need to never worry about it again :)