Favorite unobvious feature of svn?

What is your favorite non-obvious svn feature?

+54
svn
Nov 16 '08 at 19:24
source share
21 answers
svn log --xml 

The presence of logs output in xml makes them very easy to parse and analyze.

+29
Nov 17 '08 at 14:27
source share

Added in svn 1.6: ^ carriage abbreviation for shortening subversion URLs when using the command line. The caret character can be used in place of part of the URL through the repository name.

Example:

 svn switch ^/myProject/branches/fooBranch 

instead

 svn switch http://machine22/repos/SandboxRepo/myProject/branches/fooBranch 
+53
Jun 22 2018-10-22
source share

Connection scripts (start-commit, pre-commit, post-commit) are great tools for an SVN-based build system.

Another, which is probably too "obvious", calls "svn export" from the build script. This is a really good way to deploy files to some destination directory (such as a website) because you get a clean copy without hidden .svn files. This is much better than updating a remote working copy of a "deployment."

+27
Nov 16 '08 at 22:20
source share

external links.

A great opportunity to pull third-party libraries into your code base and keep them up to date.

+26
Nov 17 '08 at 14:29
source share

svn blame , of course. Got to know whose fault it is.

+24
Sep 28 '09 at 16:48
source share

Retrieving branch history from a branch point:

 svn log --stop-on-copy 
+17
Nov 16 '08 at 19:40
source share

Subversion api and client bindings that are built on top of this.

Most SCM systems are a combination of tools that allow you to call them through the command line, but the disruptive program is designed as a stable API that will be used by several clients. It just provides a command line client.

TortoiseSVN , AnkhSVN , SharpSvn, and dozens of other applications and libraries [1] would not have been there without the subversion api.

(I'm glad that some other / new SCM implementations are starting to realize that the command line client is not enough to be successful)

[1] The link page is now disabled, but you can see the old version at http://svn.apache.org/repos/asf/subversion/branches/1.6.x/www/links.html

+13
Nov 17 '08 at 13:58
source share

To undo a changeset from your working copy (e.g. 4321):

 svn merge -c -4321 . svn checkin 

Or several sets of changes:

 svn merge -c -4321,-5432 . 
+12
Nov 20 '08 at 1:02
source share

My favorite non-obvious feature of svn is how it places all of my source directories with subdirectories of .svn metadata .;)

+11
Feb 21 '09 at 20:44
source share

svn log -r BASE: HEAD (possibly with option v)

Shows what happened between the version and the version of the chapter. Usually tells you who also broke the assembly.

+7
Nov 16 '08 at 19:27
source share

"svn: ignore" property

+6
Feb 21 '09 at 20:43
source share

Mobility api and libraries. You can use the central SVN repository even if you prefer to work with distributed VCS - either using the native SVK SVK, or, for example, Mercurial (via the bridge ). A good apis also means that better tools are possible - they can work with SVN directly, instead of using the command line client and trying to parse the results.

+5
Nov 16 '08 at 20:38
source share

svn diff , even if you're offline and can assume that diff: ing is impossible.

+5
Nov 17 '08 at 14:31
source share

Support for cross-platform support for Unicode file names

I work for a Japanese company, so the Subic Unicode file name support is excellent. I was disappointed to see how poorly Unicode file names are processed by git and Mercurial in comparison (especially on Windows).

(I also understand how well Subversion handles Unicode in log messages, etc.)

+5
Aug 11 '10 at 5:23
source share

In new versions: interactive conflict resolution. Thus, conflicts do not need to be resolved manually (in most cases this is very trivial for this, it is just annoying if you need to do this for a large batch of files). But in fact, conflict handling in general (that is, that it blocks you from conflicts of conflicting files).

+4
Nov 16 '08 at 19:33
source share

And the second answer:

 svn status --depth files <path> 

This depth support, introduced in 1.5, makes Subversion much faster than before from other tools.

+4
Nov 17 '08 at 2:00
source share

Perform a rollback by combining a legacy version with HEAD.

+3
Nov 16 '08 at 19:50
source share

I came across a search for something., here is my favorite tasteless on my part .. you can copy the insert of the "working copy of svn" to any other machine or any other OS, its work, as if it were checked there. This works even if it has been verified by another user!

+2
Nov 24 '09 at 9:16
source share

Ability to configure a slave repository to mirror the primary. Therefore, the remote group can do all its reads from the local copy. It really speeds up development.

+2
Mar 12 '10 at 17:22
source share

svn cleanup

When it also says "Run svn cleanup to clean up"

find . |grep \\.svn/lock |xargs rm

+1
Aug 11 '10 at 5:19
source share

as an administrator, svndumpfilter exclude $file can significantly reduce the size of your repository.

0
Dec 11 2018-10-11
source share



All Articles