首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以获取一个svn转储并重新设置目录的父目录吗?

我可以获取一个svn转储并重新设置目录的父目录吗?
EN

Stack Overflow用户
提问于 2012-08-01 02:09:16
回答 2查看 1.5K关注 0票数 3

我正在移动SVN提供者,在这样做的过程中,我所有的repos都像https://www.provider1.com/myrepo1一样开始,所以我在那个repo上做了svn转储,在repo中我的路径开始于trunk/srctrunk/lib等。然而,我的新提供者只给我一个URL,让我将我的项目转储到这些地址中。因此,我需要重命名转储中的所有目录,以便为每个路径添加一个新的父目录,使其看起来像myrepo1/trunk/srcmyrepo1/trunk/lib等。我意识到我可以在每个URL中创建一个新目录,并将文件夹移动到其中。但这并不能改变它的历史。那么有没有办法使用svndumpfilter将这个父级直接添加到转储文件中呢?如果没有,我该怎么办?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-02 01:55:25

以下是我为使其正常工作所做的工作。我毕竟没有使用svndumpfilter。相反,我使用svnadmin创建了一个新的存储库,然后在新创建的svn repo中创建了一个父目录。然后使用svnadmin load加载转储,告诉它将该转储放在新的父目录下。

首先拉下项目并创建该项目的转储文件:

代码语言:javascript
复制
svnadmin create project1
emacs repo/hooks/pre-revprop-change
chmod 755 project1/hooks/pre-revprop-change
svnsync init file://$(pwd)/project1 https://somehost.com/svn/project1
svnsync sync file://$(pwd)/project1
svnadmin dump project1 > some.dump

接下来,创建一个新的svn项目,我们将把它的转储文件加载到新的父目录中:

代码语言:javascript
复制
svnadmin create someDirectory
svn mkdir -m "Add root directory to project" file://$(pwd)/someDirectory/THE_PARENT_NAME
cat some.dump | svnadmin load --parent-dir THE_PARENT_NAME someDirectory
票数 1
EN

Stack Overflow用户

发布于 2012-08-02 10:26:11

或者,您可以使用基于SVNKitsvnkitfilter

代码语言:javascript
复制
$ svnkitfilter OLD_ROOT_URL NEW_URL --prefix myrepo1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11746377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档