View Single Post
  #3  
Old 06-05-2006, 05:08 AM
 
geckoday geckoday is offline
 

X-Wizard
  
Join Date: Aug 2005
Posts: 1,073
 

Default

Don't go with a simple check-in/check-out system in a team world where a few files get updated a lot like you have described. Everyone will be waiting on each other to finish what they have done so they can work on that popular module. Or they'll work on a copy and wipe out someone elses changes. I've seen it happen over and over again in my 30 year IT career. You want a delta based version control system like CVS or Subversion.

I prefer Subversion over CVS. You'll see a lot of open source projects have moved to Subversion from CVS. Subversion is considered the redesigned CVS to make it more flexible. The Tortoise tools, TortoiseCVS or TortoiseSVN, are great windows add-ons to make using the version control systems much easier. There is a decent 3-way diff program built-in with TortoiseSVN for merging changes, but I use Kdiff3 because it highlights changes within a line, not just the lines that changed.

Even in a one person development environment I use Subversion/TortoiseSVN. Its great to be able to track back when a change was done and why. I also keep a pure X-Cart delivered code branch. When applying an upgrade I apply it to the pure X-Cart branch and then merge into my development branch. It makes it much easier to sort out changes than trying to figure out why patch failed.

One other thing I do is version control database configuration data. I dump the database with phpMyAdmin and split it up into one file per table. I then version control tables like xcart_config and xcart_languages that often have changes that go along with the code changes.

Whatever way you go, you need one person designated as your version control coordinator to setup the branch structure and to help the team keep things straight.
__________________
Manuka Bay Company
X-Cart Version 4.0.19 [Linux]

UGG Boots and other fine sheepskin products
http://www.snowriver.com
Reply With Quote