Re: STS loading previous edition doesn't remove new classes
- From: "ChrisB" <nospam@xxxxxxxxxxxxx>
- Date: Sun, 30 Jul 2006 12:26:43 +0100
"TimM" <365nice@xxxxxxxxx> wrote in message
news:1154085830.499022.193440@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I just noticed that loading a previous edition of a package using STS
has left classes that were in the newer edition still in the image (in
that package).
This wasn't what I was expecting - I expected that loading a previous
edition (by browsing editions of a package and right clicking on an
older one and picking load) would load all the original classes and
remove anything that was added in the later edition.
Is this an oversight or is it expected behavior?
The downside of course is that if yo make new changes from that
previous edition, and then version it, it will contain the classes from
the later version as well.
Tim
I noticed this way back when, when trying to determine if it was worth
using. For me this felt like a bug which made me question just how much use
it was getting. I would love to be using the integrated source control
system but it looks a long way off for me for the following (excuse the
tangent)
1) I gave it a very tiny hypothetical workout with some scenarios and saw
like you that new classes aren't unloaded when reverting, also a change of
an objects superclass isn't flagged as a difference between editions. These
things did worry me.
2) Stability - Nobody can really know for sure whether its as secure as
Visual SourceSafe or actually pretty good ;-) My only real point being that
version control is a dangerous business and going with something more
tried/tested is always going to be more welcome.
3) No remote server without a huge repository dump occuring renders it
pretty much unusable for me. This is presumably for complete method level
versioning which is nice but not absolutely required - is there anything
else?. It'd be nice if it could run in a mode that just used everything from
the client besides checkin/commit.
4) Two way merge - This is a big killer for me; please correct me if I'm
wrong but both this and the system we have in VSE only use a two way merge
and completely manual at that, doing a choose left - right which seems very
primitive. Developer one can add 20 methods to class A, and developer two,
20 methods to class B and it requires manual merging? If a method has
changed at all you have to look at the dates and pick the latest one and
theres so much scope for error. 99% of merging in a well organised and
communicative team should be automatic with a basic three way merge, with
only changed methods by both requiring human intervention.
As much as I hate to get away from the object/image approach and would love
to use the STS repository, I feel I'm going to end up using TortoiseSVN with
KDiff . I can have it set up on an apache server and it is very stable (plus
loving the explorer integration!) However it feels like it breaks a lot of
the Smalltalk approach to working, and after a merge or update you're going
to have to do those slightly annoying uninstall and install cycles, or
revert to base image and bring in which don't feel right.
I'm not too sure yet whether to use .PAC or .PAX as the former are always
produced and could potentially hang around uncommited. I can't see any
reason why a 3 way merge tool would have any issues at all with the .PAC
files and it'd probably feel quicker to work with than on a class basis, but
experience says that small chunks and .PAX might be better in the long run.
Any advice from anyone using either method of repository, their approaches
and positive / negative experiences would be appreciated!
Regards,
Chris
.
- Follow-Ups:
- Re: STS loading previous edition doesn't remove new classes
- From: David Gorisek
- Re: STS loading previous edition doesn't remove new classes
- References:
- Prev by Date: COM bug (crash) or am I just doing something stupid ?
- Next by Date: Re: Your thoughts on Martin Fowler?
- Previous by thread: STS loading previous edition doesn't remove new classes
- Next by thread: Re: STS loading previous edition doesn't remove new classes
- Index(es):
Relevant Pages
|
|