TekAdvocates Source Control

Source control for the Fautore application and OSA libraries is currently supported using SVN on local servers. The intent is to release Fautore and the OSA libraries as Open Source. Actual release of the source code will occur once it is better stabilized and a stronger support base to help manage the code is in place.

Access

Access to the TekAdvocates repository can be requested by emailing: GenDel@TekAdvocates.com

Suggested Structure

For ease of discussion and consistency of support among developers it is suggested development copies be maintained as similarly as possible. Assuming a Linux development environment and bash shell:

cd ~ mkdir ~/dev cd ~/dev


Repository Locations are:

The OSA SVN server URL is:

svn+ssh://dev.TekAdvocates.com/var/svn/OSA


The URL for the primary Fautore code is:

svn+ssh://dev.TekAdvocates.com/var/svn/fautore/trunk

It is recommended this repository be checked out to ~/dev/fautore locally.

SVN Commands

SVN is an extensive code management environment and training for the full extent of it's capabilities is outside the scope of this short information page. The below section provides some insight into commonly used developer commands:


svn checkout
also known as: svn co
Check code out of the server repository to create a local workspace where changes are made.

Template:
svn co svn+ssh://{uid}@dev.TekAdvocates.com/var/svn/{repository}

Example:
svn co svn+ssh://chris@dev.TekAdvocates.com/var/svn/OSA


svn checkin
also known as: svn ci
Check code in to the server code repository. This program prompts for check in comments. The repository URL is not necessary to be included with this command.

  • When run referencing a single file that file is checked in.
  • When run referencing a directory all changed files in the entire substructure of the directory are checked in.
  • When run with no file or directory reference at all changed files from the current directory and into all directory substructures is checked in.


Examples:
svn ci single_file.txt
Checks file "single_file.txt" in to the server repository.

svn ci some_directory
Check all changed contents of "some_directory" in to the server repository.

svn ci
Check all changed files in the current directory and below in to the server repository.


svn update
Brings all referenced files current to what is stored in the server repository. Only files where the version in the server repository are newer are updated. Files in the local workspace that are the same as, or newer than the server repository version are left untouched.

  • When run referencing a single file that file is updated locally if applicable.
  • When run referencing a directory all changed files in the entire substructure of the directory are updated locally if applicable.
  • When run with no file or directory reference at all changed files from the current directory and into all directory substructures are updated if applicable.


Examples:
svn update single_file.txt
Updates file "single_file.txt" from the server repository if applicable.

svn update some_directory
Updates all changed contents of "some_directory" from the server repository if applicable.

svn update
Updates all changed files in the current directory and below from the server repository if applicable.


svn add
Flag an existing file or directory to be added to the server repository. The files flagged to be added are not actually added to the server repository until a "svn ci" command is run against them.

  • When run referencing a single file that file is flagged to be added to the server repository.
  • When run referencing a directory the directory and the entire substructure of the directory are flagged to be added to the server repository.
  • When run with no file or directory reference at all new files from the current directory and all directory substructures are flagged to be added to the server repository.


Examples:
svn add single_file.txt
Updates file "single_file.txt" from the server repository if applicable.

svn add some_directory
Updates all changed contents of "some_directory" from the server repository if applicable.

svn add
Updates all changed files in the current directory and below from the server repository if applicable.

Additional References

The svn red bean book (online manual) for svn is an excellent reference to learn more then you ever thought to ask about Subversion.

The SVN Starter's Guide by Pearl Guterman is a nice reference to get a good overview of Subversion without getting too far into the weeds.

There are many Subversion cheat sheets out there on the nut, and this one by "addbytes.com" looks to be both concise and informative.