落雨

技术贴 本地代码与svn关联教程 svn upgrade问题解决

背景:

  1. 以前从SVN上下载了项目源码,可是SVN抽风了,死活不显示我修改了哪些代码

  2. 自己从别人机器上搞来了项目源码,没有svn版本控制,但是svn上面有这些源码

如上两种,我想关联一下,把我本地的代码和SVN服务器上的代码进行关联,以方便知晓我到底TM的动了多少代码


ok 步骤如下:


  1. 首先新建本地文件夹,将自己的未关联的项目源码放置到这里来

  2. 下载最新版的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

评论(2)