我知道我的工作副本中填充了svn:ignore
属性,但是当我这样做时
svn propedit svn:ignore . --editor-cmd notepad
我得到一个空白文件;编辑和保存空白文件对属性没有影响。使用其他编辑器会得到类似的结果。
为什么这不起作用?
我在Windows XP上使用1.4.2服务器和1.6.6客户端。
我已经尝试过Notepad,UltraEdit-32和Sublime Text,无论有没有start /wait
命令,都没有任何工作。我已经让它在Debian机器上运行,而不是在Windows XP上运行。任何人都可以提供具有所需结果的命令示例,或者我需要在Windows中更改的设置吗?
答案 0 :(得分:2)
您必须使用不自行分叉的编辑器(即在后台启动实例然后立即返回)。对于Windows,我不确定哪个编辑器不起作用。
要尝试,请从命令行启动编辑器。如果在关闭编辑器窗口之前收到新提示,它将无效。
答案 1 :(得分:2)
您配置的编辑器必须与您完成编辑操作的SVN通信。这种通信是通过让SVN等到exitor关闭来完成的。
通常,在Windows命令行上调用程序时,它们不会让调用进程等待,而是分叉一个新进程并让调用命令继续。因此,SVN认为编辑操作立即完成并忽略了您的更改。
为了防止您喜欢的编辑器分支另一个进程,您必须通过start
实用程序通过/wait
选项调用它。您可以通过以下方式配置首选编辑器:
set SVN_EDITOR="start /wait notepad++.exe"
之前,您现在调用svn propedit
命令,您必须确保编辑器(上例中的Notepad ++)实际上已关闭。否则,它不会再次启动,因此\wait
选项不起作用!
现在你可以调用
svn propedit svn:ignore .
编辑器现在打开了。您可以编辑属性文件,保存并关闭编辑器。编辑器关闭后,SVN会更新该属性。