Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
无法还原由svn up-rNNN还原的文件_Svn_Github - Fatal编程技术网

无法还原由svn up-rNNN还原的文件

无法还原由svn up-rNNN还原的文件,svn,github,Svn,Github,我在Github上有一个存储库,我使用svn(1.8.5)与之通信。(我不确定这是否重要,但可能很重要。) 有一个文件,比如说a.php,它当前(比如在1200版中)不在存储库中,但它曾经在那里(比如在900版中被删除) 所以我想看一下这个文件,然后说likesvn up a.php-r899,我得到了这个文件。然后我需要恢复正常的主干,所以我尝试了svn-up,svn-up a.php和svn-up a.php-r1200,但都没有成功。因此,我仍然将文件保存在本地副本中,它不会像在存储库中一

我在Github上有一个存储库,我使用svn(1.8.5)与之通信。(我不确定这是否重要,但可能很重要。)

有一个文件,比如说
a.php
,它当前(比如在1200版中)不在存储库中,但它曾经在那里(比如在900版中被删除)

所以我想看一下这个文件,然后说like
svn up a.php-r899
,我得到了这个文件。然后我需要恢复正常的主干,所以我尝试了
svn-up
svn-up a.php
svn-up a.php-r1200
,但都没有成功。因此,我仍然将文件保存在本地副本中,它不会像在存储库中一样显示在
svn status
中,但显然不是,因为如果我尝试更改(包括删除)并提交它,我会收到一个错误:

svn:E175002:对“”的PUT请求失败:500内部服务器错误

有什么想法吗

Upd。可通过以下方式复制该问题:

svn co https://github.com/OpenCorpora/opencorpora/trunk
cd trunk/ajax
svn up dict_reload.php -r1501

所以我找到了一个不明显的方法来克服这个问题。假设删除文件的版本是1502

rm a.php
svn up a.php -r1500
svn up a.php -r1502

这样它就会被删除。

这真的是GitHub效应。对于纯SVN(推荐方式),我在这样的存储库中获得了本地测试用例

>svn log -q -v
------------------------------------------------------------------------
r6 | Badger | 2014-09-26 03:36:26 +0600 (Пт, 26 сен 2014)
Changed paths:
   M /trunk/b.txt
------------------------------------------------------------------------
r5 | Badger | 2014-09-26 03:35:56 +0600 (Пт, 26 сен 2014)
Changed paths:
   M /trunk/a.txt
------------------------------------------------------------------------
r4 | Badger | 2014-09-26 03:35:29 +0600 (Пт, 26 сен 2014)
Changed paths:
   D /trunk/c.txt
------------------------------------------------------------------------
r3 | Badger | 2014-09-26 03:34:39 +0600 (Пт, 26 сен 2014)
Changed paths:
   M /trunk/a.txt
   M /trunk/b.txt
   M /trunk/c.txt
------------------------------------------------------------------------
r2 | Badger | 2014-09-26 03:33:40 +0600 (Пт, 26 сен 2014)
Changed paths:
   A /trunk/a.txt
   A /trunk/b.txt
   A /trunk/c.txt
------------------------------------------------------------------------
r1 | Badger | 2014-09-26 03:31:52 +0600 (Пт, 26 сен 2014)
Changed paths:
   A /branches
   A /tags
   A /trunk
------------------------------------------------------------------------
(在r4中删除c.txt,从HEAD中的WC中删除,我想/顺便说一下/看r3)以下预期结果

>svn up c.txt -r 3
Updating 'c.txt':
A    c.txt
Updated to revision 3.

>svn up
Updating '.':
D    c.txt
Updated to revision 6.

您是否尝试删除该文件并简单地执行svn升级?而不是承诺?svn统计给你什么?我给了,它被恢复了。svn统计没有给出任何信息。在HEAD(2061)2中有dict_reload.php。您选择了错误的方法(tm)来检查repo的旧内容:
svn cat URL/FILE@PEG-REV>文件
将技巧做得更好3。GitHub的SVN不是干净的用例——它是场景背后的Git回购。在发布最初问题的那一刻,它并没有出现在我的脑海中,我后来承诺了它。