Version Control System

rzr

Member
Hello All,

What is / are the current industry standards for maintaining progress source codes?
PVCS / RoundTable or anything else?

My company does not want to invest in buying a licensed tool - so are there any good freeware available? The current options I have are CVS or VSS.

Any thoughts and comments you can share w/ using these or other tools will be much appreciated.

We are on OE102A / Windows - GUI
 

RealHeavyDude

Well-Known Member
If you ask Progress they will tell you to use RoundTable.

Personally I like Subversion. It's open source, widely used and easy to implement and use.

Heavy Regards, RealHeavyDude.
 

Marian EDU

Member
depends on what your needs are... if you don't have the need to abuse the 'branch' facility (aka need to support different customer specific versions and complex product versioning) then you'll be fine with either CVS or SVN.

if you need to maintain multiple versions with customer specific variations then you need a good branching support SCM, merge between branches and everything... the best choices there will be Git or Mercurial, personal preference for the latest as it's a bit easier to work with in OE Architect environment. Both are distributed SCM which means there is going to be a small shift in how you see the code repository, each developer has it's own local version with local history and everything... it can work with no physical connection to the central repository and only commit (the term is 'push') in central repository when needed. In the meantime he can commit it's work as often as he see fit, it's something that come in handy when we make mistakes :)
 

j4n

Member
we use git. we had some difficulties due to some "old" programmers who didn't want to change the way they work ("it's so much easier just to copy the files I changed to a directory on server x!").

the really hard part is the build-system you have to set up to get working patches out of git. e.g. only compile and deploy stuff that has changed between two branches/commits. ...and don't forget the dependencies that you have to create/synch with xref. it was a horrid way but now everything is working perfectly.
 

rzr

Member
good to know thanks. I'm going to download these scm's... give a trial run on each for couple of weeks and see how it goes.... we have muito customers and we release many patches/builds ... right now all "modifications" are copied to a folder then these are xcoded and we create a ".exe" that we post on the clients site.
I'd like to first begin with having a proper version control system.... then later on see how to improve the deployment process
thanks all for your valuable inputs...
 

GregTomkins

Active Member
I'd just like to point out the huge philosophical difference between how most people use RoundTable vs. how most people use SVN, etc.

The difference is when conflicts are resolved - eg. what happens when 2 developers want to edit the same file at the same time.

In RTB, you have to deal with this at the start. You try to check the file out, and you can't, and you have to sort out how that is going to work.

In SVN etc., you generally deal with this at the end. You try to check the file IN, and you have to THEN sort out edits made to the file by other users.

I realize there are alternate modes of using SVN but I think those are the exception. To be honest, I can see how SVN works for huge open-source type projects, but it's beyond me how "the SVN way" is better for small-to-medium size corporate development.
 

Marian EDU

Member
Well yeah, if you are there then don't even go check git/mercurial :)

I've seen this in many shops when I've first started with version 6, if you had to change something that needed to update 3-4 files per task then it was a lot of fun to get those files 'available'... most of the time end up doing 'lock exchanges' with fellows developers, or payable in beer :)
 

jonb

New Member
I use Roundtable for ABL code and Mercurial for Java code.

Personally I like Mercurial better because it's decentralized. I have my own repository and I can check in files as often as I want, but the changes are still invisible to other developers until I'm really done.

Roundtable seems like a great product but honestly my company has it set up wrong. I've seen demos of it and it does wonderful things like create deployments for multiple platforms and automatically version your database schema. We don't use it for any of that stuff. I hate the "central share" idea (meaning whenever you save a file it's instantly visible to everybody else even though you haven't checked it in and it might contain build errors or annoying debug popups), but that's configurable.
 
Top