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