Svn propedit in a non-interactive script

I need to edit the svn property in a file after making a transaction. So I would like to use a post-commit script.

Example:

I have a property exportwith a value set to testwhen I example.ex commit a file with a name After my commit, I have a post-commit hook that does some smart things (which does not matter for my question), and after its completion you need to change (or delete) property exportto a new value, for example succeeded.

On the command line, I would use the following:

svn propedit "export"  file:///svn/repositoryName/path/to/file/in/repository/example.ex

This will open my system editor viand I will see the meaning test. I can change it to whatever I want and save and exit the file using vi commands, for example:wq

Subversion returns such a message

"svn-prop.tmp" 1L, 10C written
Set new value for property 'export' on file:///svn/repositoryName/path/to/file/in/repository/example.ex'
Committed revision 67.

So good. But, as I said, I need this in a post-commit script where I cannot control vi (or am I wrong?).

So, Subversion gives me the ability to add a file to the command propedit. The file contains only the new value succeeded.

The new command should look like this:

svn propedit "export"  file:///svn/repositoryName/path/to/file/in/repository/example.ex --file /path/to/propertyValueFile/propValue.file

And here is the problem: the last command does not work. It viopens again , and I need to change my value manually. What for? What am I doing wrong?

+3
source share
2 answers

I found a solution that works for me.

svn propedit "export" file:///svn/repositoryName/path/to/file/in/repository/example.ex --file /data/svn/intranet/hooks/fileWithLogMessage --editor-cmd "echo succeeded >"

--editor-cmdgives another editor, and I can outsmart propedit with echo newValueForProp.

And now it works like a charm.

-

+2
source

svn propset, svn propedit. propedit ... .

0

All Articles