AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 55511
Accepted
Pavel K.
Pavel K.
Asked: 2009-08-19 05:07:54 +0800 CST2009-08-19 05:07:54 +0800 CST 2009-08-19 05:07:54 +0800 CST

重新创建 svn 存储库

  • 772

在发生重大服务器故障后,svn 存储库被破坏,我的工作版本是最新版本,

从我的工作版本重新创建 svn 存储库的方法是什么?

在新服务器上安装 svn 并尝试我的工作副本之后

 svn switch NEW_SVN_PATH .

我收到一个错误

 Repository UUID '1c604742-6b16-462b-86e4-cc8bce959242' doesn't match expected UUID '6df69aeb-a72c-450d-8102-24036a3855f7'
svn repository
  • 4 4 个回答
  • 7158 Views

4 个回答

  • Voted
  1. Best Answer
    Dinesh Manne
    2009-08-19T05:14:46+08:002009-08-19T05:14:46+08:00

    初始化新的 svn 存储库后

    1. 在客户端上将当前工作目录的 svn 导出到不同的位置
    2. 从导出的位置执行 svn 导入到新的 svn url
    3. 现在做一个 svn 重定位到创建的新存储库。

    虽然这可能会奏效,但我认为新的结帐可能会更好,而不是重新定位

    • 2
  2. Giscard Biamby
    2010-12-30T21:27:22+08:002010-12-30T21:27:22+08:00

    不得不处理这个。我使用托管颠覆,并进行了转储然后导入。他们的导入过程没有将 UUID 从旧仓库转移到新仓库,所以我得到了与 OP 相同的错误。Stack Exchange 网站上的所有答案都只告诉您如何使用“svnadmin setuuid”来处理这个问题,但这对我来说不是一个选项,因为我使用托管服务(因此 svnadmin 将无法访问存储库)。我本可以输入一张票,但不想等待,所以这是我通过手动更新我的工作副本的 UUID 来修复它的方法:

    警告:仅当您确定工作副本和您重新指向的存储库绝对同步时才尝试此操作。不知道如果他们不是会发生什么。

    该过程基本上是在工作副本的隐藏 svn 文件夹(名为 .svn 或 _svn 的文件夹)中名为“条目”的文件中用新 UUID 替换旧 UUID。完成后,您可以使用 TortoiseSVN 的“重新定位”将工作目录指向新的存储库 URL。

    1. 在控制台窗口中,cd 到工作文件夹的根目录。
    2. 运行命令以递归方式从“条目”文件中删除“只读”属性:attrib -R entries /S
    3. 使用文本编辑器的“在文件中替换”功能将旧 UUID 替换为新 UUID。我使用具有以下设置的 Visual Studio:查看:PATH_TO_WORKING_FOLDER_ROOT / 包括子文件夹:选中 / 查看这些文件类型:条目
    4. 撤消步骤 #2:attrib +R entries /S
    5. 将工作副本“重新定位”到新 URL。我使用 TortoiseSVN:右键单击工作文件夹,TortoiseSVN->重新定位。

    我认为第 5 步所做的所有操作都是替换“条目”文件中的 URL,因此如果需要,您可以手动执行此操作。也可以使用“svn”命令行工具,但不知道我脑海中的命令。

    • 2
  3. Rodney Schuler
    2009-08-19T05:17:24+08:002009-08-19T05:17:24+08:00

    您可以在空存储库上设置 UUID。然后导入您拥有的文件。您将丢失您的历史记录(它不保存在工作副本中)。但是,通过设置 UUID 以匹配您的旧存储库,您可以避免 svn 开关上的错误消息。

    $ svnlook uuid /var/svn/repos
    cf1b8d31-acb6-02dc-bc7c-16e92ce6dbec
    $ svnadmin setuuid /var/svn/repos   # generate a new UUID
    $ svnlook uuid /var/svn/repos
    4c2c49fe-acc1-23dc-acbc-2b28ff0c9e6c
    $ svnadmin setuuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242  # restore the old UUID
    $ svnlook uuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242
    
    • 0
  4. Till
    2011-09-07T09:41:54+08:002011-09-07T09:41:54+08:00

    我有同样的问题,但由于我们使用托管选项,我也不能svnadmin。

    这是我在另一个项目中使用的外部,我这样做是为了修复它:

    1. 备份我所有的本地更改。
    2. rm -rf目录(外部签入)
    3. 删除svn:external(并提交)
    4. svn up
    5. svn:external再次添加
    • 0

相关问题

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 如何定期复制 SVN 存储库而不会丢失目标标签和分支?

  • 如何通过 SVN 命令行接受 SSL 证书?

  • 如何在 slicehost 上设置集市

  • 如何在 Mac OS X 中正确安装 Subversion?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve