Finding out how STS works

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

Finding out how STS works

TimM-3
Is there any documentation on STS? The website has a one pager of features
but I didn't see any usage tutorials... (its says "Follow the links above to
learn more about STS and its features" but there are no links?)

For a new comer - I think I know what I'm looking for but can't quite put my
finger on some things.

E.g. how do I add a Package to the repository... It seems like its in the
Changes menu - but then whats the difference between Save Package and Import
Package (I've figured it out now - by trial and error).

Tim


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

Andy Bower-3
Tim,

> Is there any documentation on STS? The website has a one pager of
> features but I didn't see any usage tutorials... (its says "Follow
> the links above to learn more about STS and its features" but there
> are no links?)

There is some help here at:

http://wiki.gorisek.com/WikiDoc/WikiPage

This, or something like it, will eventually make it's way into the
Dolphin help.

--
Andy Bower
Dolphin Support
www.object-arts.com


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

David Gorisek-2
In reply to this post by TimM-3
The documentation at our wiki gives you a feature list for D5. To use
these features in X6 you have to look them up in the Changes-> submenu
in class/method/package context menus.

You can add a package to the repository by right clicking on a package
and selecting Changes->Save Package Edition...

Importing a package allows you to import code into STS repository and
the partially load just parts of it. You can also compare existing
loaded package with the imported package in the repository.

Best regards,

David Gorisek


TimM wrote:

> Is there any documentation on STS? The website has a one pager of features
> but I didn't see any usage tutorials... (its says "Follow the links above to
> learn more about STS and its features" but there are no links?)
>
> For a new comer - I think I know what I'm looking for but can't quite put my
> finger on some things.
>
> E.g. how do I add a Package to the repository... It seems like its in the
> Changes menu - but then whats the difference between Save Package and Import
> Package (I've figured it out now - by trial and error).
>
> Tim
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

rush
"David Gorisek" <[hidden email]> wrote in message
news:[hidden email]...

David could you tell us a bit more how are issues with concurrent
programming addressed in StS? For instance source safe is preventive, it
locks things and does not allow other people from editing it while one
person is working on it. CVS, on the other hand allows two or more people to
edit the same resource, but after the first one of them had commited change,
others can not commit their before they get his changes and merge them with
theirs. So how those things work in StS?

Another question is what is best usage pattern for teams where one or few
members regularely goes on "camping" for few days. Bot team and him are
supposed to continue their work but there should be reasonalby easy way for
them to merge the work when they meet again.

Lastly, how are branches handled in StS?

Sorry it that was too many questions in one mail, especially if some of them
had been explained earlier,

rush
--
http://www.templatetamer.com/
http://www.folderscavenger.com/


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

BrunoBB
> theirs. So how those things work in StS?

You have your image and STS repository (the same to others users).
You work over your image then create package edition "user 1 edition".

Then another user (who start to work with the same packages) do other
thing then create a package edition "user 2 edtion".

Now, you can compare "user 1 edition" against "user 2 edtion", and
create 3 edtion which is a merge edition between 1 and 2.

But if users work at the same time you can load on line methods and
classes. So the merge process is more easy.

N user can work over a class because the Class is in the Smalltalk
image. Then the team have to merge this N editions into one.
If N users are working on Bank class they can load at real time the
methods implemented by others user and all its versions.
You also have on line all class version.


Regards Bruno



>
> Another question is what is best usage pattern for teams where one or few
> members regularely goes on "camping" for few days. Bot team and him are
> supposed to continue their work but there should be reasonalby easy way for
> them to merge the work when they meet again.
>
> Lastly, how are branches handled in StS?
>
> Sorry it that was too many questions in one mail, especially if some of them
> had been explained earlier,
>
> rush
> --
> http://www.templatetamer.com/
> http://www.folderscavenger.com/
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

rush
"Bruno Buzzi Brasesco" <[hidden email]> wrote in message
news:[hidden email]...

> > theirs. So how those things work in StS?
>
> You have your image and STS repository (the same to others users).
> You work over your image then create package edition "user 1 edition".
>
> Then another user (who start to work with the same packages) do other
> thing then create a package edition "user 2 edtion".
>
> Now, you can compare "user 1 edition" against "user 2 edtion", and
> create 3 edtion which is a merge edition between 1 and 2.

Ok, but is there mechanic that tells me which classes or methods need to be
merged by hand? Like cvs will not let me commit before I merge stuff that
needs to be merged.

rush
--
http://www.templatetamer.com/
http://www.folderscavenger.com/


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

TimM-3
In reply to this post by David Gorisek-2
> Importing a package allows you to import code into STS repository and
> the partially load just parts of it. You can also compare existing loaded
> package with the imported package in the repository.

Ok I am starting to get it. And now I understand why Andy asked STS users
what there usage patterns were....

So is STS like Envy, in that everything I change will be recorded in
omnibase (at the method level)? And that the Package Editions just give me
an entry point to lining up all of those method editions (and class changes)
into a named set?

But I'm still trying to understand how you handle the situation of the
recent Image Live update? e.g. When I started STS the first time it
suggested adding all the current image classes - which I did. Now if I apply
the Live Update - how can I store that new base starting point (so that if I
need to create a new image I can start from that point)? I assume all the
methods will have new editions - but now there are some packages that OA
have updated - how do I know what to version to get a new starting point?
Should I have created a "Project" and added all of the original image
packages into it - and then this would give me the hook to find out what had
changed so that I could create a Patch1 project?

Tim


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

David Gorisek-2
In reply to this post by rush
 From package context menu you can use Changes->Compare Package Edition
to get a list of changes between the loaded code and another version in
repository.

 From the changes list you can then decide whether to load particular
change or not. You can multi-select changes and then use "Load left" or
"Load right" options for merging. Also you can sort by change timestamp
so it is easier to select just the changes that were made from a
particular point of time

STS will always create a new version so there is no point of not letting
you to commit. It is up to you to either accept changes from other
version/developer or not.

Best regards,

David Gorisek




rush wrote:

> Ok, but is there mechanic that tells me which classes or methods need to be
> merged by hand? Like cvs will not let me commit before I merge stuff that
> needs to be merged.
>
> rush
> --
> http://www.templatetamer.com/
> http://www.folderscavenger.com/
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Finding out how STS works

David Gorisek-2
In reply to this post by rush
Rush,

STS does not prevent you to work on some code if another developer is
working with it.

What STS does is the following:

Once a package is versioned in the repository, this code can not be
changed. So then, two developers can load this version and work on it.
Then they will both create a new version each with its own changes (or
maybe only one developer will create a new version).

Afterwards, one developer will compare his package with the version from
another developer and merge other's changes into his code. STS will show
added/remove and conflicting code which can then be selected and merged
into the current image. When the merge process is complete you would
normally create a new version which can be used as a baseline for
another iteration.

Regarding you question of having off-line development, this is the best
solved by having local repository on a notebook and then exchange code
using project import/export functionality.

So before going camping, you would import the latest project version
into your local repository on a notebook. Then, when you come back you
would export the latest project version and merge your code with the
code of other team members.

Regarding project import/export, there is a bug in the current beta so I
will send you a new version of STS via e-mail.

Best regards,

David Gorisek





rush wrote:

> "David Gorisek" <[hidden email]> wrote in message
> news:[hidden email]...
>
> David could you tell us a bit more how are issues with concurrent
> programming addressed in StS? For instance source safe is preventive, it
> locks things and does not allow other people from editing it while one
> person is working on it. CVS, on the other hand allows two or more people to
> edit the same resource, but after the first one of them had commited change,
> others can not commit their before they get his changes and merge them with
> theirs. So how those things work in StS?
>
> Another question is what is best usage pattern for teams where one or few
> members regularely goes on "camping" for few days. Bot team and him are
> supposed to continue their work but there should be reasonalby easy way for
> them to merge the work when they meet again.
>
> Lastly, how are branches handled in StS?
>
> Sorry it that was too many questions in one mail, especially if some of them
> had been explained earlier,
>
> rush
> --
> http://www.templatetamer.com/
> http://www.folderscavenger.com/
>
>