views:

578

answers:

7

I've been using TortoiseSVN with Subversion for a while now. Its pretty easy to use and most of the time I just use the Update and Commit functions....and occasionally if I need to track down the author of a particular line of code I use Blame or Show Log.

Recently though, I made the mistake of directly copying folders and files from a different branch into the one I was working in...and on checking it in found that it broke things because it checked it in as coming from the branch I had copied them from. At that point I found out that what needs to be done is to use the commands made available by TortoiseSVN to copy and export the folders across so their references remain correct.

So it's left me wondering....What other power commands exist that are important for a developer using Subversion to know that help you from breaking things or reduce the amount of effort of performing various version control tasks?

+3  A: 

Although this feature doesn't help keep you from breaking things, it definitely helps levy the blame, who broke it.

But here are some of the main features that help prevent you from breaking things.

Lastly, merging and branching is the probably one of the most powerful command.

daub815
+8  A: 

I've found the export command to be invaluable several times. It gives you a clean (no .svn directories) copy of whatever directory you want.

Daniel Schaffer
+5  A: 

I find useful these:

CMS
I had no idea about the different options for common sub-projects...I'm going to have to read up on that
mezoid
+1  A: 

auto-props for setting properties based on the extension. Use it to set mime-types and needs-lock properties.

This works great if you are commiting binary files (e.g. word documents, jpeg images etc).

Nitin Bhide
+11  A: 
Stefan
That "most forgotten feature" is really handy! thanks!
mezoid
The repair moves/renames is really cool!
Otherside
A: 

In addition to the stuff already mentioned, I find using the TortoiseSNV's Diff tool very useful. When I do a Commit, I usually double-click each changed file to ensure that the changes are what I think they are (it also helps me write my commit comments). There's been a few times when I noticed something was wrong and had to cancel the commit.

In trying to track down a bug, the tool is great for trying to isolate what code modification may have created a particular problem. Keep in mind that there's quite a few places you can Diff from (Windows Explorer, Commit Dlg, Repo-browser, Revision Graph, etc.).

Marc Bernier
A: 

I prefer WinMerge for diffs, so in the context menu in Explorer [TortoiseSVN\Settings\External Programs\Diff Viewer] I select the External option with a value of:

C:\Program Files\WinMerge\WinMergeU.exe -e -x -ub -dl %bname -dr %yname %base %mine

However you can still use TortoiseMerge by holding the Shift key when you click on Diff in the context menu. Holding the shift key causes TortoiseSVN to use TortoiseMerge instead of the configured diff or merge tool.

I also like the CommitMonitor which will show you new activity in a repository.

Lastly, there are good tips at tortoisesvn.net.

Ryan