如何备份和恢复svn中的所有源代码?

发布于 2024-08-04 12:21:50 字数 152 浏览 11 评论 0原文

现在我使用的是Windows XP。 如果我只是复制 Visual SVN 中的整个存储库文件夹, 服务器宕机后,如何通过备份的存储库文件夹恢复它? 在 Visual svn 中备份和恢复的另一个更好的解决方案?

顺便问一下,在可视化源代码管理中有什么备份和恢复的方法吗?

Right now I am using Windows XP.
If i just copy the whole repository folder in visual SVN,
once the server is down, how can i restore it via the backuped repository folder?
another better solution to backup and restore in visual svn ?

by the way, any method for backup and restore in visual source control?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

紅太極 2024-08-11 12:21:50
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2

当然,压缩步骤是可选的。

与另一个答案中推荐的“复制树”方法相比,这种方法的主要优点是 Subversion“转储”格式是比 Subversion 在其存储库中使用的大多数数据库格式更好的存档格式。 (这是速度与简单性的权衡。)您可以在文本编辑器中读取转储文件,轻松解析它,并且最重要的是使用不同的数据库后端将其导入到不同的 Subversion 存储库中。

使用以下命令恢复上述文件:

bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2

The compression step is optional, of course.

The primary advantage of this over the "copy the tree" method recommended in another answer is that the Subversion "dump" format is a better archival format than most of the database formats used by Subversion under the hood in its repository. (It's a speed vs. simplicity tradeoff.) You can read a dump file in a text editor, parse it easily, and — most important — import it into a different Subversion repository using a different database back-end.

Restore the above file with:

bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
别低头,皇冠会掉 2024-08-11 12:21:50

这就是我使用的:

#!/bin/bash

mkdir /tmp/backup_svn

for dir in /var/www/svn/*/
    do
        dir=${dir%*/}
        svnadmin dump "${dir}" > "/tmp/backup_svn/${dir##*/}.dmp"
    echo "--- Dump ${dir##*/} done!"
done

要恢复转储,您需要之前创建 de repo 文件夹:

svnadmin create /var/www/svn/test

并且它们:

svnadmin load /var/www/svn/test/ < /tmp/backup_svn/test.dmp

此方法将恢复存储库中的所有修订/标签/分支。

This is what I use:

#!/bin/bash

mkdir /tmp/backup_svn

for dir in /var/www/svn/*/
    do
        dir=${dir%*/}
        svnadmin dump "${dir}" > "/tmp/backup_svn/${dir##*/}.dmp"
    echo "--- Dump ${dir##*/} done!"
done

To restore the dump you need to create de repo folder before:

svnadmin create /var/www/svn/test

And them:

svnadmin load /var/www/svn/test/ < /tmp/backup_svn/test.dmp

This method will restore all revisions/tags/branches in your repository.

惟欲睡 2024-08-11 12:21:50

您应该使用 svnadmin hotcopy 来创建存储库的备份。

You should use svnadmin hotcopy to create a backup of your repository.

强者自强 2024-08-11 12:21:50

您只需复制整个目录即可。文件就是文件,它们没有什么神奇之处。

如果您想做一些更复杂的事情,例如在恢复之前以某种方式编辑存储库内容,那么您需要转储和加载。

You can just copy the entire directory in and out. Files is files, there's nothing magic about them.

If you want to do something more complicated, like edit the repository contents in some way before restoring, then you need dump and load.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文