Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 是否可以撤消subversion中的导入?_Svn - Fatal编程技术网

Svn 是否可以撤消subversion中的导入?

Svn 是否可以撤消subversion中的导入?,svn,Svn,我无意中在错误的目录中调用了“svn导入…”。有没有明智的方法来弥补这个错误 通过谷歌搜索,我没有找到任何有用的答案,我在stackoverflow上发现的最接近我的问题是,而我将错误的数据导入了正确的位置 而且:存储库不是新的,所以删除它是不可能的 如果我不能撤销版本控制系统中的操作,那将是一种讽刺。有人能帮我吗?(谢谢!) 编辑:我的存储库存储在伯克利数据库中,也就是说,它在文件系统中。查看所有文件/目录的修改日期,以及刚刚修改的文件的内容,我能够想出除一件事以外的其他方法:有人知道txn当

我无意中在错误的目录中调用了“svn导入…”。有没有明智的方法来弥补这个错误

通过谷歌搜索,我没有找到任何有用的答案,我在stackoverflow上发现的最接近我的问题是,而我将错误的数据导入了正确的位置

而且:存储库不是新的,所以删除它是不可能的

如果我不能撤销版本控制系统中的操作,那将是一种讽刺。有人能帮我吗?(谢谢!)

编辑:我的存储库存储在伯克利数据库中,也就是说,它在文件系统中。查看所有文件/目录的修改日期,以及刚刚修改的文件的内容,我能够想出除一件事以外的其他方法:有人知道txn当前文件的用途吗?我猜它与事务处理有关,但它的内容(长度为2字节)是什么意思


编辑2:感谢两个有用的答案。我接受了Martin的回答,因为它应该提供正确的方法(由于时间紧迫,我刚刚删除了一些文件,正如我在第一次编辑中暗示的那样,忽略了txn current的内容,直到现在都过得很好)。但是看看维姆在评论中给出的链接

您不能直接撤消提交,唯一的选择是执行
svnadmin转储
,从转储文件中删除提交(手动使用文本编辑器,或再次使用,然后
svnadmin加载


如果数据作为旧版本保留在存储库中的某个位置不是真正的问题,那么您只需
svn删除它,然后提交其他内容即可。

如果导入文件后没有其他提交,则可以使用
svn dump
轻松删除上一个版本

以下示例取自:

  • (假设版本1-125正常,126是导致问题的最后一个版本)
  • 备份存储库,然后转储存储库(上一版本除外):
    • >svnadmin dump-r1:125 myrepo>my.dump
  • 现在创建一个新存储库并加载转储:
    • >svnadmin创建myrepo
    • >svnadmin load myrepo

谢谢,但是在错误的目录中有一些二进制文件,我想删除它们。如何使用dump删除数据?SVN书籍的较旧版本提供了一些关于使用svndumpfilter的更多信息:非常有用的链接,再次感谢!我现在正走在另一条道路上(请参阅即将编辑的问题),但如果它不起作用,我将尝试svndumpfilter。