Freeze Svn:externals for Tags/branch

svn的external link在多个项目互相引用时很有用。

但我们想要做tag及branch的时候,需要将external link的文件或目录固定在某个版本。

搜了一下,基本上有几个办法:

使用tortoisesvn>1.7版本,打tag及branch的时候可以固定在某一版本:

¦   http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-branchtag.html


缺点是这样打出来的branch,checkout下来后,svn up还是回到最新的版本。

使用一个perl脚本,可以在打branch的时候把extern link一起拷贝到branch底下,这样相当于是建立了一个新的external link拷贝,修改branch不会影响到trunk

¦   https://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svncopy/


缺点是这样打出来的branch底下会多出来external link的拷贝,不完美。

有人开发了工具, C#的,但我在win7下面打branch的时候会报错

¦   http://svnxf.codeplex.com/

原先以为这样的事情总该有个simple的解决办法的,但还真是没找到,自己实际写个脚本想做这个事情才发现不简单。想要做这件事的前提是要把代码check到本地来,这样就不如直接调命令了,如果远程操作svn库,就需要三方开发。

最后简单的办法是:

如果是打tag,采用方法一,用tortoisesvn固定在一个版本

如果是打branch,先用tortoisesvn 固定在一个版本,再把branch分支checkout下来,用命令 svn propedit svn:externals .取消external link,再重新加入版本库,最后提交。

参考:

http://stackoverflow.com/questions/1982538/how-to-have-tortoisesvn-always-freeze-svnexternals-for-tags

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏marsggbo

coursera 视频总是缓冲或者无法观看的解决办法

注意!!!该方法针对Windows用户,亲测有效。 1.用管理员权限记事本打开host文件 2.将如下内容复制到文件末尾 52.84.246.90 ...

2185
来自专栏Web 开发

通过ipv6绕开网页认证

在一个需要Web认证的WiFi网络下,无意中nettop发现有一条tcp6的链接是Established状态,搜一下发现大部分Web认证,都仅仅拦截ipv4的流...

1890
来自专栏繁花云

私有git仓库gitlab搭建教程

最近比较无聊,想研究下gitlab,所以就尝试了一下centos7下面gitlab的搭建

1710
来自专栏hbbliyong

运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决

删除文件后再次运行yum可用。 --------------------- 作者:黯淡荣耀 来源:CSDN 原文:https://blog.csdn.ne...

1592
来自专栏老安的博客

docker 容积硬盘扩容小坑一个

1353
来自专栏酷玩时刻

H5仿微信支付键盘

视频地址:https://github.com/Javen205/IJPay-Demo/blob/master/doc/pay_keyboard.m4v

1312
来自专栏程序猿DD

Spring Cloud Config采用Git存储时两种常用的配置策略

这种模式下不同的项目会对应到 https://github.com/dyc87112/config-repo.git仓库下的不同目录,如果项目中 spring....

902
来自专栏Laoqi's Linux运维专列

自动化监控Zabbix之主机自动发现

1803
来自专栏张戈的专栏

Linux操作系统DNS解析(nameserver)监控脚本

一、起因 昨天,开发组兄弟发现 resin 日志出现不少支付宝业务报错信息,用户用支付宝购买了产品,钱到账后公司系统却未返回支付成功状态! 这还得了?用户明明支...

4064
来自专栏jmeter高手高高手

Jmeter(二十)_Mock接口

Mock通常是指,在测试一个对象时,我们构造一些假的对象来模拟与其交互。而这些Mock对象的行为是我们事先设定且符合预期。通过这些Mock对象来测试对象在正常逻...

2242

扫码关注云+社区