How do I automate subversion, tortoisesvn and Assembla.com?

1.1k views Asked by At

I am new to subversion, or I have used it a tiny bit, but don't understand how to check in/out files, like I used to do with VSS or QCVS.

But since this new project is for a private mmorpg server, I want to automate check in/out update of the assembla.com repository.

Perhaps using batch files, and through scheduled tasks, to move all my changes to the assembla.com hosted repo, and move all changes others make to my version.

I have the repository on my pc, and assembla all setup, just don't know how to use it, and then instruct my team-mates how to work with it :P

So it's a lot to learn for me, any suggestions, or tutorial links to make sense for someone who doesn't know svn or assembla that well?

I'd appreciate it even more so, with some example batch files.

Thank you for your time..

2

There are 2 answers

0
Albin Sunnanbo On BEST ANSWER

SVN differes a little bit from VSS with the check out part. VSS locks a file when you check it out. Subversion uses optimistic offline locking instead, that means you can edit any file and then try to commit the file. If someone else has changed the file in between you are not allowed to commit the file, you have to update your local file and resolve any conflicts before you can commit.

The typical SVN commands you use are svn update to get all remote changes to your local working copy.
And svn commit to submit your local changes to the remote repository.

If you are on Windows I really suggest you use the TortoiseSVN client instead of the command line tools.

Edit
If you want help with knowing when there are new updates available to svn update you can have a look at SVN Notifier.

Edit 2
If you really want to update periodically you can create a windows scheduled task that does just svn update in your working copy.
I really can not recommend anyone to autocommit to svn, but given the above sentence you can probably figure out how to schedule svn commit too, but be warned you will miss any error messages if the commit does not succeed.

1
Lasse V. Karlsen On

You don't really want to automate commits if you intend to be multiple developers working on this.

There is no guarantee that your scheduled commit will commit working code, which would be a bit of a pain for others if they update their working folder after such a commit, now they can't work on the project, or at least not compile.

You really should take the time to learn how to use Subversion. Yes, it has a learning curve, but if you intend to be working in programming for a while, you need to learn those things anyway.