Re: Source Code Version Control

Author: Ted Roche

Posted: 2015-02-24 at 09:01:16

On Thu, Feb 19, 2015 at 6:07 AM, Dave Crozier <DaveC@flexipol.co.uk> wrote:

> Sorry to bring this old chestnut up again but now we are "two" here (myself and Tom) at Flexipol it has become very clear that we need some sort of versioning software for VFP 9 and I am wondering what is the current flavour of the day with you folks out there.

Anything is better than nothing.

> Obviously Visual SourceSafe is available but I must admit to having mixed feelings about it after using it in VFP 6 days after the database became corrupted and we couldn't access any versions of the source code never mind the older revision so I will take council on its use. We have MSDN so the latest Team Foundation is available but I must admit t knowing diddly squat about it!

I wrote a book about my decade of experience with SourceSafe, and the

means to safely maintain and repair large databases. The book didn't

make the Best Seller Lists, but a few corporations paid me handsomely

to do what I outlined in the book. SourceSafe was one of the best

source code control programs of the 80s.

I wouldn't advise using it today, despite the tightly-coupled

functionality it offers in VFP, one that few people have gotten to

work correctly.

Distributed version control systems (DVCS) means that each workstation

has access to all of the source code in the master repository, so you

can work on your laptop or workstation whilst disconnected from the

network. It also means there is no "single point of failure" -- one

machine going down will not break your source code. Typically, you

share changes by publishing from your local machine to an agree-upon

"master" repository. You can have one or several of these, if you like

to push code from development to test to QA to staging to production,

that's supported.

The biggest advantage of the new generation of DVCS is the recognition

that merging is a normal, day-to-day operation and not a crisis. You

branch your code base to try an experiment. You abandon your code, or

you merge your changes back into the master branch of code. You

support several versions of your app, and can switch between them to

troubleshoot client issues. You "stash" away a chunk of code you're

working on when you need to work on something else.

There are several popular DVCS systems, commercial and Open Source. I

strongly prefer the latter.

Git is my DVCS of choice, mainly because I've invested the most effort

in learning it, and because it is the primary DVCS of Ruby, where I

spend most of my time these days. There are good books, videos and

tutorials available. It is worth investing the time in learning it, as

your ability to rescue old code, save a client with a problem, or save

your business might depend on it.

Mercurial is another similar system, hg for short, more popular in the

Python community. Bazaar is a third. I'm not qualified to speak to the

differences between the three in any detail, other than to say great

software is successfully maintained on each, so I don't think you'd go

wrong with any of them.

VFP stores much of its source in binary DBF formats, and these are not

very source-code friendly. There are a number of nice two-way

conversions from binary to text, several of which have already been

mentioned on this thread.

You can host all of your source code yourself, or you can off-load

that to a commercial provider. GitHub has done a fine job promoting

themselves as the center of all things, and they really have built a

fine web site with many extra features on top of the Git engine.

BitBucket is another vendor skilled in self-promotion. Their offerings

are not as extensive as GitHub, but their pricing is more competitive.

There are literally dozens of other vendors offering a range of

hosting plans and prices.

I hope this gives you some clues on what questions to consider next.

--

Ted Roche

Ted Roche & Associates, LLC

http://www.tedroche.com

_______________________________________________

Post Messages to: ProFox@leafe.com

Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox

OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech

Searchable Archive: http://leafe.com/archives/search/profox

This message: http://leafe.com/archives/byMID/profox/CACW6n4sHrnukZzFq_pxoshmQuczjDdqUcrkuo6KzK28QujPhSw@mail.gmail.com

** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

©2015 Ted Roche