`
- 浏览:
60915 次
-
体验当‘项目经理’的日子 6---SVN新手常犯的错
第二个问题是关于SVN使用的。
svn项目目录下有一个database文件夹, 里面放着sql脚本、ER图和数据字典。当分配到任务的人需了解数据库表格信息时,看sql脚本的人不多,大部分人在大部分情况下都是看数据字典。没有加权限控制时,查看的人多了, 乱子也就出来了。
刚使用svn,我(作为一个管理者)一开始并不知道权限控制, 只会导入工程、 提交和更新。从理论上来讲, 数据库是只允许我一个人更改的, 别人若有需要修改数据库, 要告诉我后再由我来修改。 我改完脚本后顺便也会改一改数据字典, 然后提交。 所有表格都要有一个status字段, 用来标识记录是处于正常状态还是已经被“删除”, 如0表示正常, -1表示已删除。所有的删除操作都只是改变记录的status值,这样做的好处是可以恢复已被用户“删除”的记录, 为用户提供一剂后悔药。这是我们在建好数据库表格后老师跟我们说的,所以需要在项目开始后改动。这个改动给我留下非常深刻的印象, 因为在两天之内我改了不下三次。 第一次改完后,提交, 然后, 被人用旧版本覆盖。 第二次改完,提交,然后给大家提了个醒,可没过几个小时又被人覆盖。 第三次我怒了,得了俩教训, 第一个是改完后要留个备份, 省得被人覆盖后还要再重改原来的文件; 第二个是权限控制。在网上找到方法后,我把整个database文件夹的权限设为只有我自己可以读和写, 其他人都只有可读权限。
这只是文件被错误覆盖的一个例子,在刚开始的两三天,这种事情多次发生。 对database文件夹我可以加权限, 可其他的文件夹呢?
我想了想为什么会发生这种情况, 还是以数据字典为例。 数据字典是一个word文档, 在查看时文件时不小心打个空格或拖动某个字符是很平常的事。 关闭并保存文件后, SVN会认为这个文件已经更改过。 由于大家刚接触SVN,不怎么会用。在提交文件时经常有人会将整个工程提交, 假设这个人为B。 照理来说, SVN有版本控制机制可以防止覆盖的发生。当我成功提交更改好的数据字典后,B会由于版本冲突不能提交。 如果B更新一下的话, 会多出三个文件, 文件名是在原来的文件名上加上新的后缀(我只记得有一个是以.mine结尾)加上原来的doc文件就有四个文件了,必须删掉四个中的三个才能提交,如果不懂的话, 一般会删除非doc后缀的文件,然后提交。如果是文本文件(.xml, .java, .jsp)发生版本冲突, 后缀名不变的文件会是SVN自动合并的文件, 但doc文件是二进制文件, SVN不能合并, 所以以doc结尾的文件是以前的旧版本文件。当B提交这个旧版本后, 我之前提交的就被覆盖掉了。(个人不想相信这个猜测, 因为这种人也太二了点, 也许还有其他更高级的覆盖方法...)
好在只是在头三天常这样, 到目前, 已经很少有错误覆盖的事情发生了。原因有三:覆盖频率最高的database文件夹已经加了权限控制;第二,经过多日的使用,大家已经比较熟悉SVN的基本使用, 再加上多次提醒不要提交整个工程、要选择性地提交自己改过的文件后, 很少有人再犯这样的错了, 都小心翼翼的。
还有, 我想, 若是在一开始按功能模块分工, 错误覆盖的发生率应该会降低, 因为不同的模块对应不同的文件目录, 两人同时改一个文件的概率会很小。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
maven-scm-provider-svnjava-2.0.jar
这个压缩包“TortoiseSVN-1.9.7.27907-x64-svn-1.9.7”包含了TortoiseSVN的1.9.7版本,这是一个64位的应用程序,适用于Windows操作系统。此版本号(1.9.7.27907)表明这是该软件的一个稳定版本,提供了若干改进和...
SVN 客户端下载 TortoiseSVN-1.14.6.29673-x64-svn-1.14.3
《TortoiseSVN-1.9.7-x64-svn-1.9.7:版本控制利器的深入解析》 TortoiseSVN,一个在IT领域中备受推崇的版本控制系统,专为Windows用户设计,提供了一个直观且易用的图形用户界面。其最新版本"1.9.7"的64位版本...
maven-scm-provider-svnjava-2.0.5.jar
maven-scm-provider-svnjava-2.0.3.jar
TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-...
texlive-cm-super-svn15878.0-45.el7.noarch
TortoiseSVN-1.14.6.29673-x64-svn-1.14.3.msi.cab
CUDA-Z-0.6.159-SVN.exe
TortoiseSVN 1.9.7.27907-x64-svn-1.9.7是该软件的一个特定版本,它基于64位架构,对应Subversion 1.9.7版本。这个版本包含了一些重要的改进和修复,旨在提升性能、安全性和用户体验。例如,它可能包含了对新功能的...
1.安装客户端 2.安装语言包 3.设置语言中文简体(不知道怎么设?度娘) 4.本包含独立客户端及独立语言包 5.与git相比可以单独下载文件等优势 ...说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn...
SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪文件和目录的变更,同时保持项目的历史记录。在软件开发中,SVN是团队协作的重要工具,使得开发者可以合并各自的...
在这个标题为"TortoiseSVN-1.11.0.28416-x64-svn-1.11.0 英文安装包(64位)"的压缩包中,包含的是TortoiseSVN的1.11.0版本,针对64位系统的英文安装程序。 Subversion(SVN)是一个开源的版本控制系统,用于管理...
最新版SVN服务端,Setup-Subversion-1.7.4(SVN服务端).msi
《TortoiseSVN-1.14.0.28885-x64-svn-1.14.0及其简体中文语言包详解》 TortoiseSVN,一个深受开发者喜爱的版本控制系统客户端,是Subversion(SVN)在Windows平台上的图形化界面。版本号为1.14.0.28885的x64位版本...
2. SVN的中文语言包可以改善中文用户的使用体验,使得界面和文档本地化。 3. "LanguagePack_1.8.7-x64-CN-SVN.rar"是针对64位系统且适用于Subversion 1.8.7的中文语言补丁。 4. MSI文件(如"LanguagePack_1.9.5....
《TortoiseSVN-1.14.5.29465-x64-svn-1.14.2:Windows上的版本控制利器》 TortoiseSVN是广受欢迎的开源版本控制系统Subversion(SVN)的图形用户界面,专为Windows操作系统设计。在软件开发过程中,版本控制系统...
64位系统的TortoiseSVN-1.14.3.29387-x64-svn-1.14.2