SVN提交更改时出异常“Working copy is not up-to-date”怎么办?
解决方法:
方法一:
提交时报错(本地已经删除),将team synchcronizing视图中的删除文件覆盖/更新后再提交。
方法二:
先把删除的文件进行了还原。
在项目中重新删除两个文件,然后选择整个项目进行,Team-refresh/Clean Up 操作。
同步提交,没有报错。
方法三:
在相应文件上,单击选择team,然后选择先更新,然后再提交。
运行方式:
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
数据存储:
svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
工作流程:
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。
使用svn进行版本控制,每个文件夹下都有svn文件夹。而我们经常会碰到这样的情况:有些项目在脱离svn版本控制之后,想删除项目中所有的svn文件夹,那我们怎么办呢?现在就让我告诉你一个好方法。首先建立一个文本文件,取名为kill-svn-foldersreg(扩展名由txt改为reg),然后输入如下内容:(注意先改扩展名再输入内容)
Windows Registry Editor Version 500
[HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVNcommand]
@="cmdexe /c "TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r "%1" %%f IN (svn) DO RD /s /q "%%f" "" 保存之后,双击这个reg文件。成功后,在每一个文件夹上点击右键都会有一个“Delete SVN Folders”的选项,点击之后,既可以删除这个文件下(包括子文件夹)所有的svn文件夹。
删除完成后,为了避免误操作,不小心把正处于版本管理中的svn文件夹删除,最好把刚才的注册信息删除。删除方法是,打开注册表(在运行中用regedit命令),找到[HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVN] ,把DeleteSVN这个项删除,即可。
在本机创建文件夹StartKit,右键点击Checkout,
在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。 说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入 http://ztnethenueducn/svn/StartKit/ 这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。 搞定!源代码已经成功签出到刚才新建的StartKit目录中。 打开StartKit目录,
一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示机会发生变化。下图中我修改了其中的二个文件:
大家看一下不同状态所对应的
我们已经知道怎么将源代码签入到SVN服务器,
签入(导入)源代码到SVN服务器 假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示: 7 点击Import,弹出下面的窗体,其中http://ztnethenueducn 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库。 说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。
https://1921681XX/svn/class53devp/ 点击OK按钮,会弹出下面的窗体,要求输入凭据
在上面的窗体中输入用户名和密码,点击OK按钮:
如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。
如果你之前断开连接的时候没有删除SVN meta-information,那么重新连接的时候只要share project-》选择svn-》use project settings,点finish即可恢复连接。
如果删除了SVN meta-information,那么在share project 后,是否有你这个项目的repository location,若存在,直接选,没有的话,create一个,前提是项目是同一个,不然会出错。
0条评论