背景:
1、公司的svn服务器架设在了公司内网环境中,没有公网ip,所以离开了公司环境就无法访问(更新、提交。。。)svn服务器了;
2、四个开发人员去客户现场开发新的需求,在现场找了一台服务器临时搭建的svn服务器,不过由于环境变化大,都是在自己的笔记本上搭建的svn服务器,这样便于记录代码改动的地方,有log可查,需要几个人同步代码的时候使用U盘直接拷贝;
3、每天下班之前把现场的代码在发给公司同事,然后由公司同事提交,保持现场和公司两个svn上面的代码一致;
4、不过没过多久(不到两周),又回到公司继续开发,本来可以直接check公司svn服务器的代码继续开发,但是svn上其中的一个eclipse项目没有更新到公司的svn服务器上,所以才有了本文。
回到公司,发现了问题,如何把现场的svn代码,提交到公司的svn服务器上面,由于代码量有限,想到了一个办法:
1、先在公司的svn上更新一版最新的项目到本地---暂且称为company_svn;
2、本地拷贝一份现场的项目代码(不直接在现场的svn代码上修改,方式出错),然后删除所有的与svn有关的文件(搜索*.svn,然后把根目录的.svn目录也删除掉)---暂且称之为local_svn;
3、拷贝local_svn所有的文件和目录到company_svn目录下,win7下会出现提示信息:
选择是,然后会出来如下提示:
把最下面的复选框选中,选择复制和替换。当此操作完成的时候,就可以提交company_svn到svn服务器了。也就完成了local_svn到company_svn的svn代码迁移。
修订(2013-06-19):svn不像cvs一样,会在每个目录下都有相应的文件产生,所以如果想去掉svn的文件,只需要删除.svn目录就可以了。