Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux SVN:存储库已锁定且SVN清理命令失败_Linux_Svn_Command Line_Terminal - Fatal编程技术网

Linux SVN:存储库已锁定且SVN清理命令失败

Linux SVN:存储库已锁定且SVN清理命令失败,linux,svn,command-line,terminal,Linux,Svn,Command Line,Terminal,我使用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清理时,仍然会遇到如下问题: svn: I

我使用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清理时,仍然会遇到如下问题:

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实际上存在于存储库中


出什么事了,我该怎么解决?谢谢

如果您刚刚退出Putty,您的签出将不会在后台继续;它很可能挂起在当时的任何地方,任何正在处理的文件都保持锁定状态。这可能会导致您在“clean”上看到的不可预知的行为

您可以通过使用该实用程序来解决这个问题,当您关闭Putty时,该实用程序允许您的会话保持活动状态,并且通常包含在大多数Linux发行版的包管理器中

您可以使用Screen做很多事情,手册页非常丰富,但为此,您只需执行以下操作:

screen
你现在在一个新的终端,可以做你需要做的,并关闭腻子,如果你喜欢;您的程序将继续运行

再次登录后,请执行以下操作:

screen -x
您将重新连接到以前的会话


要终止会话,请按ctrl+d键,就像结束任何终端会话一样。

为什么要使用远程连接(通过Putty)到服务器,保留存储库并在那里签出?您不能在本地计算机上使用任何SVN客户端(如用于Windows的TortoiseSVN)并在存储库中执行所有操作吗?解决一些常见问题要容易得多

某些存储库(或本地工作副本)上的SVN锁定是一个常见问题,大多数情况下是由于某些错误造成的。解锁锁定的存储库有多种方法。试着用谷歌四处搜索以找到它们

根据存储库被锁定的深度,大多数存储库可能会失败。在这种情况下,我总是使用所谓的“暴力”模式。即:

  • 将存储库的当前版本签出到某个新文件夹

  • 将此文件夹的内容导出到另一个文件夹(获取没有SVN元数据的所有文件)

  • 删除第一个文件夹(您签出存储库的文件夹)中的所有文件

  • 将所有文件从第二个文件夹(导出的文件夹)复制(或移动)到第一个文件夹

  • 提交更改

  • 对于存储库的许多问题,包括锁定存储库的问题,这是一种常见的解决方案


    我再次强烈建议您在本地计算机上使用本地SVN客户端。不要在服务器上远程执行任何操作,因为您实际上保存了SVN存储库,除非您确实必须这样做,并且您确实确信没有其他方法。

    AFAIK:SVN存储库有时被锁定的问题是永久性的。即,终止(可能)持有未完成签出的会话不会解锁由于错误而锁定的存储库。见下面我的答案。