把一台电脑的svn 工作代码到另一台电脑上。svn cleanup,svn revert等操作很慢?
两台电脑都是ubuntu10.04svn版本是1.7一台电脑通过svncoURL下载代码到本地(co下来后并没有修改文件,是一个干净的工作代码)。另一台电脑通过scp从这...
两台电脑都是ubuntu 10.04 svn 版本是1.7
一台电脑通过 svn co URL 下载代码到本地(co 下来后并没有修改文件,是一个干净的工作代码)。 另一台电脑通过scp 从这台电脑上拷贝到本地。发现svn update 工作目录,很慢(要等很久才有结果),请问为什么? 展开
一台电脑通过 svn co URL 下载代码到本地(co 下来后并没有修改文件,是一个干净的工作代码)。 另一台电脑通过scp 从这台电脑上拷贝到本地。发现svn update 工作目录,很慢(要等很久才有结果),请问为什么? 展开
1个回答
2014-10-14 · 知道合伙人互联网行家
关注
展开全部
你的A电脑的资源库、B电脑的资源库指的是两个不同的SVN服务器端,还是同一个SVN库下的两个客户端?
如果是指同一个SVN库的两个客户端,那么就很简单了,两个客户端各自做各自的提交、更新操作就是了,如果想实现B电脑客户端的自动同步,那只要在B电脑上设置一个定时任务,比如每小时自动执行一次svn update操作就是了
如果是只两个不同的SVN服务器端,这个就麻烦了。首先必须保证B电脑上的a2文件夹只能是从A电脑上传过去,而不能是由其他人上传修改,否则会导致经常冲突;然后,你在A电脑上将A、B服务器的两个库分别checkout出来,在A电脑的SVN服务器端hooks文件夹下设置一个钩子post-commit,这个钩子会在A电脑的服务器端每次执行commit操作后自动执行,在这个钩子里先update A服务器checkout出来的那个文件夹,然后将update后的内容(过滤掉.svn文件夹)复制到B服务器checkout出来的那个文件夹,然后add 、commit B服务器checkout出来的那个文件夹。
或者另外一个办法,使用svn:externals(外部引用)属性,在B服务器checkout出来的a2文件夹上设置这个属性,使得B服务器的a2文件夹指向A服务器的a2文件夹,每次update时就会自动从A服务器上取这个文件夹的内容出来。但同样,这时B服务器的这个文件夹是不能被人为修改的。
如果是指同一个SVN库的两个客户端,那么就很简单了,两个客户端各自做各自的提交、更新操作就是了,如果想实现B电脑客户端的自动同步,那只要在B电脑上设置一个定时任务,比如每小时自动执行一次svn update操作就是了
如果是只两个不同的SVN服务器端,这个就麻烦了。首先必须保证B电脑上的a2文件夹只能是从A电脑上传过去,而不能是由其他人上传修改,否则会导致经常冲突;然后,你在A电脑上将A、B服务器的两个库分别checkout出来,在A电脑的SVN服务器端hooks文件夹下设置一个钩子post-commit,这个钩子会在A电脑的服务器端每次执行commit操作后自动执行,在这个钩子里先update A服务器checkout出来的那个文件夹,然后将update后的内容(过滤掉.svn文件夹)复制到B服务器checkout出来的那个文件夹,然后add 、commit B服务器checkout出来的那个文件夹。
或者另外一个办法,使用svn:externals(外部引用)属性,在B服务器checkout出来的a2文件夹上设置这个属性,使得B服务器的a2文件夹指向A服务器的a2文件夹,每次update时就会自动从A服务器上取这个文件夹的内容出来。但同样,这时B服务器的这个文件夹是不能被人为修改的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询