You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从SVN导出单个文件(含外部引用文件场景)

导出SVN外部引用目录下单个文件的方法

嘿,这个问题我之前也碰到过,SVN的外部引用确实有点绕,不过解决起来其实很简单,分几步走就能搞定:

第一步:先搞清楚外部引用的真实SVN地址

外部引用本质就是个指向其他SVN仓库的链接,所以你得先拿到anotherfolder实际对应的远程路径:

  • 如果已经本地checkout了trunk目录,直接在终端里运行这个命令:
    svn propget svn:externals trunk
    
    输出会类似这样:anotherfolder http://external.host/path/to/external/repo,后面那串URL就是你要找的外部仓库地址。
  • 要是没本地checkout也没关系,直接查远程仓库的属性就行:
    svn propget svn:externals http://host.xyz/trunk
    

第二步:直接导出外部文件

拿到真实URL后,就跟导出普通SVN文件一样用svn export命令就行,比如要导出magic.py

svn export http://external.host/path/to/external/repo/magic.py

要是想指定本地保存的文件名或者路径,就加个目标路径:

svn export http://external.host/path/to/external/repo/magic.py ./my_magic.py

额外小技巧:批量导出所有需要的.py文件

如果你想一次性把所有提到的4个文件都导出,可以把所有文件的URL整理成一个文本文件,比如叫export_list.txt,内容如下:

http://host.xyz/trunk/file.py
http://host.xyz/trunk/anotherfile.py
http://host.xyz/trunk/folder/stuff.py
http://external.host/path/to/external/repo/magic.py

然后用bash循环批量导出:

while read url; do svn export "$url"; done < export_list.txt

这样就不用一个个敲命令啦~

内容的提问来源于stack exchange,提问作者Dnouna

火山引擎 最新活动