Search code examples
svngitgit-svncollaboration

How to set Subversion properties with git-svn


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)?


Solution

  • 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"