我们已完全丢失了我们的存储库,我们有8位开发人员未经更改。假设无法从备份恢复。
如果一个人可以访问所有工作副本(文件副本或远程共享),是否可以将我们的工作副本中的更改合并到一个工作副本?然后可以将最终工作副本导入新的仓库。
简而言之,您可以在没有服务器的情况下合并两个不同的工作副本吗?
编辑:请不要因为没有备份而poo meo;那部分是我无法控制的。据推测,他们每晚都会得到备份。
跟进:这就是我们所做的:
答案 0 :(得分:4)
由于您丢失了存储库(对不起),您也失去了整个历史记录。
你现在所能做的只是从零开始。
by'export',我的意思是创建工作副本的副本,但不包含隐藏的.svn文件夹。
答案 1 :(得分:1)
这个问题很棘手。 但这就是我要做的。
当你完成这项可怕的工作时, 尽早教授开发人员关于签入的信息...... 以及如何使用分支......
/约翰
答案 2 :(得分:0)
你的问题不在于你丢失了服务器而是你的回购本身。除了重新创建一个新的仓库并仔细分类各种工作副本以进行导入外,我看不到你能做什么。祝你好运。
PS:你没有备份......
PPS:这是一种问题DVCS通过在每个开发人员的沙箱中为大多数人提供完整的回购副本而自然解决。
答案 3 :(得分:0)
最简单的方法是创建自己的服务器,创建测试存储库,在其中添加一个(最稳定的)构建,并一次合并一个工作副本。但是,是的,你失去了所有的历史,因为你丢失了旧的回购。
然后,您可以从该测试中创建主回购。
答案 4 :(得分:0)
我会尝试选择一个工作副本来对新的仓库进行导入,然后使用svn开关重新分配剩余的7个工作副本,可能使用重定位,以使他们相信它是相同的仓库但是重新安置了。只是尝试为丢失的存储库中没有(或尽可能少)结构更改的初始导入选择一个工作副本:例如只是文件编辑。
当然,如果以上操作不起作用,请对工作副本进行大量备份:)
答案 5 :(得分:0)
Subversion将文件的原始版本保留在本地工作副本中。创建一个新的存储库,制作最早的工作副本的副本,还原工作副本的COPY上的更改,然后将该工作副本导入新的存储库。
svn import:http://svnbook.red-bean.com/en/1.0/re12.html
导入后,可以使用svn switch --relocate将其他工作副本重新分配到新存储库,并提交更改。
svn switch --relocate:http://svnbook.red-bean.com/en/1.1/ch04s05.html
答案 6 :(得分:0)
在与最原始工作副本相同的位置创建一个新存储库(这样可以在新存储库中捕获更多历史记录)。
如果它不起作用,请从新存储库的结帐中输入.svn目录。 (例如checkout,并删除除.svn目录之外的所有内容)