我需要在提交后编辑文件的svn属性。因此,我想使用一个后置提交脚本。
例如:
当我提交名为example.ex的文件时,我有一个名为export的属性,其值设置为test。提交成功后,我有一个后置提交挂钩,执行一些智能操作(这对我的问题无关紧要),并在完成后需要更改(或删除)属性export到一个新值,如succeeded。
在命令行上,我会使用以下命令:
这会打开我的系统编辑器
Subversion会返回如下信息。
例如:
当我提交名为example.ex的文件时,我有一个名为export的属性,其值设置为test。提交成功后,我有一个后置提交挂钩,执行一些智能操作(这对我的问题无关紧要),并在完成后需要更改(或删除)属性export到一个新值,如succeeded。
在命令行上,我会使用以下命令:
svn propedit "export" file:///svn/repositoryName/path/to/file/in/repository/example.ex
这会打开我的系统编辑器
vi
,我就能看到值为test
。我可以将其改为任何想要的内容,并通过:wq
等vi命令保存并退出文件。Subversion会返回如下信息。
"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.
非常好。但是正如我所说,我需要在提交后的脚本中使用它,在那里我无法控制vi(或者我错了吗?)。
因此,Subversion给我提供了向命令propedit
添加文件的可能性。该文件仅包含新值succeeded
。
新命令应该像这样:
svn propedit "export" file:///svn/repositoryName/path/to/file/in/repository/example.ex --file /path/to/propertyValueFile/propValue.file
问题在于:最后一条命令无效。再次打开vi
,我需要手动更改数值。为什么?我做错了什么吗?