如何让一个SVN仓库文件夹继承另一个SVN仓库文件夹(用作外部目录)
如何在SVN仓库中创建同步外部目录
操作步骤
1. 准备本地工作副本
先将自己的SVN仓库checkout到本地工作目录,进入到要创建外部目录的父文件夹下。
2. 添加SVN外部引用
使用svn propset命令设置svn:externals属性,关联目标仓库的指定文件夹。命令格式如下:
svn propset svn:externals "本地目录名 目标仓库的URL[@版本号]" .
- 细节说明:
本地目录名:你要在自身仓库中创建的文件夹名称目标仓库的URL:另一个SVN仓库中需同步的文件夹完整URL[@版本号]:可选参数,若需固定同步某一版本则添加,不写默认同步最新版本
示例:若要在当前目录下创建shared-config文件夹,同步https://svn.example.com/team-repo/configs的最新内容,命令为:
svn propset svn:externals "shared-config https://svn.example.com/team-repo/configs" .
3. 提交属性变更
设置完属性后,将变更提交到自身SVN仓库:
svn commit -m "添加外部目录引用,同步共享配置文件夹"
4. 拉取目标仓库内容
提交后执行更新命令,SVN会自动拉取目标仓库的内容到本地新建的目录中:
svn update
同步源仓库变更的方法
当目标仓库的所有者修改内容后,只需在自身工作副本中执行以下命令,即可自动同步最新内容:
svn update
同步完成后,若需要在自身仓库中记录同步状态,可提交这次更新操作。
注意事项
- 需确保你拥有目标仓库的读取权限,否则无法拉取内容
- 若指定了固定版本号,源仓库的后续变更不会自动同步,需手动修改
svn:externals属性中的版本号 - 删除外部目录时,需先移除
svn:externals属性并提交,再删除本地文件夹并提交删除操作
内容的提问来源于stack exchange,提问作者Ramin B
相关产品推荐
相关产品推荐

