技术贴 本地代码与svn关联教程 svn upgrade问题解决
背景:
-
以前从SVN上下载了项目源码,可是SVN抽风了,死活不显示我修改了哪些代码
-
自己从别人机器上搞来了项目源码,没有svn版本控制,但是svn上面有这些源码
如上两种,我想关联一下,把我本地的代码和SVN服务器上的代码进行关联,以方便知晓我到底TM的动了多少代码
ok 步骤如下:
-
首先新建本地文件夹,将自己的未关联的项目源码放置到这里来
-
下载最新版的svn客户端软件,TortoiseSVN 1.8.1 ,然后右键将服务器上的源码项目检出到此路径
3.注意上一步的检出,一定是根目录,就是你的本地项目源码什么结构,svn的就怎么检出,达到利用服务器端的源码覆盖到本地的目的,但是svn很智能,你TM的改了什么源码,svn检出的就不会覆盖你的本地的源码,否则你就白玩了。
如果在第2步出现如下报错: (SVN Upgrade working copy)
Error: The working copy at 'C:\Users\yang\Desktop\ss\trunk\res\anim'
Error: is too old (format 10) to work with client version '1.8.8 (r1568071)' (expects
Error: format 31). You need to upgrade the working copy first.
但是你的svn如果右键没有upgrade的选项,就需要干掉所有项目源码的.svn隐藏文件夹,才可以继续关联操作。
删除svn隐藏文件夹办法很简单,网上有脚本,直接新建文本文档,然后改后缀名为xxx.bat即可,把项目源码路径文件夹拖到这个bat上面,自动执行清理。(切记,不要打开这个bat文件后再拖放,而是,直接把文件夹拖放到这个bat文件上即可,bat文件不需要开启)
------------------------本行不复制------------------------------
@echo off if "%1"=="" ( goto error ) else ( goto action %1 ) :error echo. echo 必须输入要操作的文件夹路径参数,或拖动文件夹到此命令文件上。 echo. pause goto end :action %1 echo -------------------------------------------------------------------------- echo 本次操作将删除 [%1] 文件夹下所有的svn标记,请慎重操作! echo Y 清理文件夹 echo N 退出 echo --------------------------------------------------------------------------- choice /c YN /m 请选择菜单(按ctrl+c或N退出): if %errorlevel% equ 2 goto end echo 正在清理文件夹:%1 echo 请稍候... for /r %1 %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn" echo 清理完毕! echo 按任意键退出... pause>echo. :end exit
------------------------本行不复制------------------------------
5.然后你就可以直接再次重新从步骤2开始做。
有问题联系小弟:
QQ 394263788
落雨 svn爱好者
2014年5月21日17:26:02