Sometimes for an organization whose primary clients are not software related. Most documentation for implementing source control is written having a team of developers writing for commercial or free projects in your mind. As somebody who creates internally software I'm able to state that jobs are done in a different way then it might be inside a commercial or free setting. Additionally you will find saved methods and database scripts that should be stored synchronized using the code.

Particularly I'm searching to obtain suggestions how better to structure the repository within house software in your mind. Most documentation indicates trunk, branches, tags etc. And methods to keep production, make sure development conditions synchronized using their particular sections within the repository etc.

Establishing SVN databases could be tricky only meaning of methods you get them organized. Before we setup SVN, I really RTFM'd the internet Subversion manual which talks about business approaches for databases and a few of the gotchas you need to consider ahead of time, namely that which you canrrrt do once you have produced your databases if you choose to convince you. I would recommend a go through this manual before setup.

For all of us, as consultants, we all do custom as well as in-house software development in addition to some document management through SVN. It had been within our interest to produce one repository for every client and something to live in. Within each repository, we produced folders for every project (software or else). This permitted us to segment security access by repository by client as well as by project inside a repository. Going much deeper, for every software project we produced 'working', 'tags' and 'branches' folders. We generally put releases in 'tags' using 'release_w.x.y.z' because the tag for any standard.

Inside your situation, to help keep sprocs, scripts, and other associated documents in synch, you may create a project folder, then under that the 'working' folder, then under that 'code' and then into it 'scripts', etc. When you tag the significant version for release, you finish up marking it altogether.









For non-code, I recommend a straight folder layout by project or document type (manuals, guidelines, etc.). Generally with documents and for the way your organization works, just getting the version history/logs is sufficient.

We run SVN on Home windows together with WebSVN the industry great free repository viewer. It's used by us to provide clients web use of their code and it is all driven through the underlying Subversion security. Internally, we use TortoiseSVN to handle the databases, commit, update, import, etc.

Another factor is the fact that training should be thought about a fundamental element of your deployment. Customers a new comer to version control could have a difficult time understanding what's going on. We discovered that providing them with functional instructions (do that when designing a project, do that when upgrading, etc.) was very useful when they learned the concepts. We produced a 'sandbox' repository where customers can enjoy all they need with documents and folders to rehearse, you might find this helpful too to try what guidelines to determine.

Best of luck!

For subversion, there's Assembla too which will come with Trac along with other helpful tools. It's free or you might purchase a merchant account if you want more room or customers per project.

You could utilize something like world wide to setup a totally free SVN or GIT repository.

We use Unfuddle and it is great. You will find free and compensated versions (based on your requirements).

Or, you can obviously setup a nearby copy. You will find lots of lessons found via Google for your: http://world wide