How to set Subversion properties with git-svn

Black picture Black · Aug 13, 2009 · Viewed 9.6k times · Source

Is there a way to set subversion properties on a git repository that was created by git-svn?

In my case, I want to edit the version of svn:external, svn:ignore and svn:executable.

However, the only way to do so seems to involve a check-out with the subversion client. Is there a way to edit svn properties without having to check out the repository twice (one time for git and one time with svn for the properties)?

Answer

VonC picture VonC · Feb 1, 2015

Note: git 2.3.0 (February 2015) supports proset with git svn.
See commit 83c9433 by Alfred Perlstein (splbio):

git-svn: support for git-svn propset

This change allows git-svn to support setting subversion properties.

It is useful for manually setting properties when committing to a subversion repo that requires properties to be set without requiring moving your changeset to separate subversion checkout in order to set props.

There is a nit to point out: the code does not support adding props unless there are also content changes to the files as well.
This is demonstrated in the testcase.

So, as seen in t/t9148-git-svn-propset.sh, this now works:

git svn propset "$1" "$2" "$file" 
# like
git svn propset "svn:keywords" "FreeBSD=%H" "foo"