我使用putty连接到我的Linux服务器,并从SVN服务器检出数据,我设置了后台运行的结帐进程。当我退出putty shell时,结帐仍在运行。
下次登录并继续使用同一目录结帐时,会显示以下消息:
svn: Working copy 'scon_project' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
但是当我运行svn cleanup时,仍会遇到这样的问题:
svn: In directory 'var/data'
svn: Error processing command 'modify-wcprop' in 'var/data'
svn: 'var/data/logo.jpg' is not under version
但var / data / logo.jpg实际上存在于存储库中。
什么事,我该如何解决?谢谢!
答案 0 :(得分:2)
如果您只是退出Putty,您的结账将不会在后台继续;它很可能会挂在当时的任何地方,任何正在处理的文件都会保持锁定状态。这可能会导致您在'干净'上看到的不可预测的行为。
您可以使用GNU Screen实用程序解决此问题,该实用程序允许您的会话在关闭Putty时保持活动状态,并且往往包含在大多数Linux发行版的程序包管理器中。
您可以使用Screen做很多事情,并且手册页很多,但为此目的,您只需要执行以下操作:
screen
你现在在一个新的终端,可以做你需要做的事情,如果你愿意,可以关闭Putty;你的程序将继续运行。
再次登录后执行:
screen -x
你将重新接触旧会议。
要终止会话,请按 ctrl + d ,就像结束任何终端会话一样。
答案 1 :(得分:0)
为什么要使用远程连接(通过Putty)到您的服务器,保存您的存储库并在那里结账?您不能在LOCAL计算机上使用任何SVN客户端(如TortoiseSVN for Windows)并在此处执行存储库中的所有操作吗?解决一些常见问题要容易得多。
某些存储库(或本地工作副本)上的SVN锁定是一个常见问题,大多数时候都会出现一些错误。解锁锁定存储库的方法有很多种。尝试谷歌周围找到它们。
根据您的存储库锁定的深度,大多数可能会失败。在这种情况下,我总是使用所谓的“蛮力”模式。即:
将当前版本的存储库检出到某个新文件夹。
将此文件夹的内容导出到另一个文件夹(获取所有没有SVN元数据的文件)。
删除第一个文件夹中的所有文件(签出存储库的文件夹)。
将所有文件从第二个文件夹(您导出的位置)复制(或移动)到第一个文件夹。
提交更改。
这是存储库许多问题的常见解决方案,包括锁定存储库的问题。
我强烈建议您在本地计算机上使用本地SVN客户端。不要在实际拥有SVN存储库的服务器上远程执行任何操作,除非您确实需要并且您确实没有其他方法。