Enabling Source Control?

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

Enabling Source Control?

Panu Viljamaa-3
On Dolphin 5.1 I right-click on a package and see
the source-control sub-menu.  But the check-out &
check-in options are greyed out for me.

I'd like to understand a bit more how to use this
feature in practice and first of all how to enable
it.

Here's how I imagine it /should/ work:

1. I start up the image, choose a package,
and select CHECK-OUT to give me WRITE-ACCESS
to that package.  Alternative when I first try
to modify a method in a package, the system
asks me first whether I want to check it out
or not.

2. The Checkout brings me the LATEST VERSION
from the source-control, overwriting any non-latest
version in the image, possibly confirming with
me if the version in the image was not the latest.

  (There's not much use for source-control that
   can't guarantee I'm working on the latest
   version)

3. Once I'm happy with my changes, I CHECK-IN
the package. This saves my current version of
each class as its latest version into the PAX-file
for that class - and makes the source-control
system aware of this change.

After check-in I no longer have write-access
to the package, but I can naturally  check it
out again.


4. Outside of the image, I can use my source-code-control
client to browse all previous versions of the class-files,
and rollback to any previous ones if needed to. (It would
be great to have this function integrated into Dolphin
directly).


Any ideas or experiences on how to enable and
best use this Dolphin feature?

Thanks
-Panu Viljamaa


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

David Gorisek-2
This may be off topic, but I would suggest that before starting to use
file-based versioning systems (CVS, MS SourceSafe, ...) that you also
check the Source Tracking System which is a source control system
somewhat similar to ENVY.

See:

http://wiki.gorisek.com/WikiDoc/WikiPage?page=Source+Tracking+System&action=reload


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

Panu Viljamaa-3
David Gorisek wrote:
...
> http://wiki.gorisek.com/WikiDoc/WikiPage?page=Source+Tracking+System&action=reload

Thanks for the tip.

If a source-code-control like this was part
of the IDE automatically, I would naturally
use it.

However, having to go to the trouble of
actually installing something, I'm thinking
I'll be better off with a *general purpose*
source control system - because I like to
store several other kinds of documents
than just Smalltalk into it.

I'm more impressed by the WikiDoc system your
link took me to. Is it written in Smalltalk?

Thanks
-Panu Viljamaa


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

David Gorisek-5
"panu" <[hidden email]> wrote in message
news:[hidden email]...
>
> However, having to go to the trouble of
> actually installing something, I'm thinking
> I'll be better off with a *general purpose*
> source control system - because I like to
> store several other kinds of documents
> than just Smalltalk into it.
>

The "installation" is really simple. All you have to do is to install
1 (one) Dolphin Smalltalk package and that's it.

STS requires no separate database or anything else. It uses OmniBase,
which is already included with STS. OmniBase is loaded automatically
when you install the STS package.  And OmniBase uses ordinary files to
store its data. Therefore, installing STS is only a matter of loading
just one additional package. This is not like e.g. Store where you
have to have a relational DB installed somewhere.


> I'm more impressed by the WikiDoc system your
> link took me to. Is it written in Smalltalk?
>

Yes, WikiDoc is written in Dolphin Smalltalk and it uses OmniBase to
store wiki pages, downloads and images. This is not an ordinary wiki,
but it is optimized for collaborative work on end-user documentation
with possibility to export everything in a printable form. When it is
finished we intend to release it as a separate product.

Best regards,

David Gorisek


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

kuo-2
"David Gorisek" <[hidden email]> wrote:

> STS requires no separate database or anything else. It uses OmniBase,
> which is already included with STS. OmniBase is loaded automatically
> when you install the STS package.  And OmniBase uses ordinary files to
> store its data. Therefore, installing STS is only a matter of loading
> just one additional package. This is not like e.g. Store where you
> have to have a relational DB installed somewhere.
>
   My major concern in using STS/OmniBase is that there is no auto-update
available ( like java web start ).
   For example, my system is running the old package dated 2003/5 but it is
said that a new version, 2003/11 was available, with new support for on-line
backup.
I cann't find it in your web site, and there is no other way to update it
like Dolphin Live Update.
   Another concern is that I'm not sure whether the new version would break
my running image when loaded to overwrite the old one.
   Many uncertainties remained...
     Whill I uninstall the old one first? that way will cost me a lot of
maintenance time...
     Will the project repository be lost at refreshing?  etc...

> Yes, WikiDoc is written in Dolphin Smalltalk and it uses OmniBase to
> store wiki pages, downloads and images. This is not an ordinary wiki,
> but it is optimized for collaborative work on end-user documentation
> with possibility to export everything in a printable form. When it is
> finished we intend to release it as a separate product.
>
   Sound like the CMS: Plone/CMF/Zope framework.
   Will it be that powerful? I'll use it without getting the trouble
learning Python.

Best regards,

Tk Kuo


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

David Gorisek-5
"kuo" <[hidden email]> wrote in message
news:[hidden email]...
>    My major concern in using STS/OmniBase is that there is no auto-update
> available ( like java web start ).
>    For example, my system is running the old package dated 2003/5 but it
is
> said that a new version, 2003/11 was available, with new support for
on-line
> backup.
> I cann't find it in your web site, and there is no other way to update it
> like Dolphin Live Update.
>    Another concern is that I'm not sure whether the new version would
break
> my running image when loaded to overwrite the old one.
>    Many uncertainties remained...
>      Whill I uninstall the old one first? that way will cost me a lot of
> maintenance time...
>      Will the project repository be lost at refreshing?  etc...
>

Migrating to a new version of STS/OmniBase is just as simple as installing
it for the first time. The procedure is as follows:

1. Open a clean Dolphin image
2. Install new version of STS and OmniBase
3. Connect to your old repository
4. Load your code from the repository

When upgrading to a new version we always ensure that the new version is
compatible with the old ones. We also use some very old repositories dating
from way back, therefore backward compatibility is a must for every new
version of STS or OmniBase. So, to answer your question: No, your repository
will not be lost.

Regarding upgrades, the licence includes only 90 days of free e-mail support
and upgrades. This is the reason why you didn't automatically receive the
new version of the package.

> >
>    Sound like the CMS: Plone/CMF/Zope framework.
>    Will it be that powerful? I'll use it without getting the trouble
> learning Python.
>

I have not seen the systems which you have mentioned yet. The WikiDoc itself
has a markup syntax (almost) compatible to that of Wikipedia plus some extra
"tags" for writing user documentation. And if that is not enogh, you can
still "escape" to plain HTML. Additional features include:
- versioning of pages
- ability to group pages into chapters
- multi-lingual support
- no extra DB required, ...


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

kuo-2
In reply to this post by Panu Viljamaa-3
Hi panu,
"panu" <[hidden email]> wrote:
> On Dolphin 5.1 I right-click on a package and see
> the source-control sub-menu.  But the check-out &
> check-in options are greyed out for me.
>
> I'd like to understand a bit more how to use this
> feature in practice and first of all how to enable
> it.
  I suspected that the whole ideas are built upon the CVS ( the Concurrent
Versions System, see https://www.cvshome.org). There are some Windows-based
CVS systems, ( free GNU license), available, such as WinCVS.
  I'm not familiar with it. I guess that you must have a CVS client running
first to use that functionality but I don't know to way to connect with it
using Dolphin since there are no documents noted on this subject so far as I
knew ( maybe I'm wrong).
  CVS is great, very suitable for file-based package system like Java, for
managements versions of the projects.
  Since some people use Dolphin mainly by way of packages ( not saving codes
directly in images or object dbs), IMHO, it would be nice to have such power
tool at hand.

Best regards,

Tk Kuo


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

kuo-2
In reply to this post by David Gorisek-5
Hi again,

"David Gorisek" <[hidden email]> wrote:
> Regarding upgrades, the licence includes only 90 days of free e-mail
support
> and upgrades. This is the reason why you didn't automatically receive the
> new version of the package.
>
Just another question about the cost:

  There is no open announcement of pricing policy about upgrades and
services for your company's products, so, may I know the price first to see
if my budget is affordable in the long run to keep on using this system.


Best regards,

Tk Kuo


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

David Gorisek-5
You're right. There is no information about that. Our homepage is
"non-updateable" at the moment and we are moving it to a Wiki system.

When this will be finished it will include all the necessary information,
plus we will move from licencing mode to a time-limited support mode similar
to the "STS one year support and licence" which means that for the given
period you will automatically receive all new versions and get support.
After this period you will be able to prolong support to get new versions or
just continue using you current version without paying anything.

Best regards,

David Gorisek



"kuo" <[hidden email]> wrote in message
news:[hidden email]...
>
>   There is no open announcement of pricing policy about upgrades and
> services for your company's products, so, may I know the price first to
see
> if my budget is affordable in the long run to keep on using this system.
>
>
> Best regards,
>
> Tk Kuo
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

Panu Viljamaa-3
In reply to this post by David Gorisek-5
David Gorisek wrote:

> ... Therefore, installing STS is only a matter of loading
> just one additional package. ...

Good,
Let me ask, does it support the following way of working
with packages:

1. A package can have 'sub-packages' and so on.
2. Taking out a given version of a package means
    that specific versions of all its sub-packages
    are taken out as well.

The benefit of this scheme is that I can have a
single top-level package whose versions correspond
to snapshots of my whole working environment in time.

I can then always go back if something breaks. And
if I deliver a given version of the top-package to
a customer, I can easily go back to that version to
debug problems they may have, in exactly the same
environment.

This is basically the Team-V model of VSE.

Thanks
-Panu Viljamaa


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

David Gorisek-5
You can do that, but we call this a "project". Before switching to Dolphin
I've used Team/V and ENVY. But I liked the concept of ENVY config
maps/projects more than subapps/subpackages. Therefore STS has projects
which are similar to config maps in ENVY or bundles in Store/VW.

Loading a given project version will load specific versions of all its
packages. A project version is a collection of specific versions of all
packages that belong to a project.

Using projects also gives you a possibility to export source code of all
package versions for the specific version of the project into a single file.
So you don't have to deal with multiple .PAC files in various folders, you
just have one big (compressed) XML file with extension .PEX (Project Edition
XML) or .PEZ (Project Edition xml Zipped). This is very useful feature when
more developers are working on the same project and don't use the same
repository (notebooks).

See the description of the Project Editions Browser for more information.
The URL for this is:

http://wiki.gorisek.com/WikiDoc/WikiPage?page=Project+Editions+Browser&lang=
English&action=reload


Best regards,

David Gorisek



"panu" <[hidden email]> wrote in message
news:[hidden email]...

> David Gorisek wrote:
>
> > ... Therefore, installing STS is only a matter of loading
> > just one additional package. ...
>
> Good,
> Let me ask, does it support the following way of working
> with packages:
>
> 1. A package can have 'sub-packages' and so on.
> 2. Taking out a given version of a package means
>     that specific versions of all its sub-packages
>     are taken out as well.
>
> The benefit of this scheme is that I can have a
> single top-level package whose versions correspond
> to snapshots of my whole working environment in time.
>
> I can then always go back if something breaks. And
> if I deliver a given version of the top-package to
> a customer, I can easily go back to that version to
> debug problems they may have, in exactly the same
> environment.
>
> This is basically the Team-V model of VSE.
>
> Thanks
> -Panu Viljamaa
>


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

Panu Viljamaa-3
David Gorisek wrote:

>
> Loading a given project version will load specific versions of all its
> packages. A project version is a collection of specific versions of all
> packages that belong to a project.

What I'm after here is what kind of recursive containment
structure is possible in the Source Tracking System.

 From your statement above I would make the guess that:

  1. Projects can contain Packages,
  2. Projects can /not/ contain Projects.
  3. Packages can /only/ contain classes and methods,
     not other packages nor projects.

Is this correct?

Thanks
-Panu Viljamaa


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

David Gorisek-5
This is currenlty correct.

Regarding 2.: this would be easy to implement but I find it better practice
to have everything in one project because it is easier to see which packages
are included with a single glance.

Regarding 3.: STS packages are equivalent to Dolphin packages therefore they
only contain objects which are contained in Dolphin packages. STS adds only
versioning information to each source code item.

Best regards,

David Gorisek



"panu" <[hidden email]> wrote in message
news:[hidden email]...

> David Gorisek wrote:
>
> >
> > Loading a given project version will load specific versions of all its
> > packages. A project version is a collection of specific versions of all
> > packages that belong to a project.
>
> What I'm after here is what kind of recursive containment
> structure is possible in the Source Tracking System.
>
>  From your statement above I would make the guess that:
>
>   1. Projects can contain Packages,
>   2. Projects can /not/ contain Projects.
>   3. Packages can /only/ contain classes and methods,
>      not other packages nor projects.
>
> Is this correct?
>
> Thanks
> -Panu Viljamaa
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

Panu Viljamaa-3
David Gorisek wrote:

> This is currenlty correct.
>
> Regarding 2.: this would be easy to implement but I find it better practice
> to have everything in one project because it is easier to see which packages
> are included with a single glance.
>
> Regarding 3.: STS packages are equivalent to Dolphin packages therefore they
> only contain objects which are contained in Dolphin packages. STS adds only
> versioning information to each source code item.

Thanks for the information.
I'm seriously considering STS
already.

I especially like what I've read so
far about its cross-dialect and XML
capabilities.

I wonder if you could make a deal
with Object-Arts to make STS part
of 'Dolphin 6 Enterprise' or something.

-Panu Viljamaa


Reply | Threaded
Open this post in threaded view
|

Re: Enabling Source Control?

Bob Jarvis-3
In reply to this post by Panu Viljamaa-3
panu <[hidden email]> wrote in message news:<[hidden email]>...
> On Dolphin 5.1 I right-click on a package and see
> the source-control sub-menu.  But the check-out &
> check-in options are greyed out for me.
>
> I'd like to understand a bit more how to use this
> feature in practice and first of all how to enable
> it.

My RcsSourceManager package does pretty much what you want.  It uses
RCS, which pre-dates CVS, as the source management package.  You can
get the RcsSourceManager as part of my goodies, at

    http://www.nls.net/mp/jarvis/Bob/DolphinGoodies.htm

and you can get RCS as part of Cygwin, at

    http://www.cygwin.com

I hope this helps.