TortoiseSVN解决代码冲突
如果commit时出现“You have to update your work copy first.”红色警告,说明版本库中的此文件已经被其他人修改了。请先点“ok”按钮退出。执行update,然后再commit。
如果修改与update得到的代码不冲突,则自动合并。如果冲突(比如对同一行代码进行了修改),则出现”One or more files are in a conflicted state.“红色警告,并产生几个文件记录冲突。一般情况下,我们不要直接编辑冲突文件。而按照以下操作手工解决冲突。
在资源管理器中,选择commit时冲突的那个文件,鼠标右键菜单选择”Edit conficts”。
出现界面,分为”Theirs”、”Mine”和”Merged”3部分,表示”别人修改的内容”、”我修改的内容”和”合并后的结果”3部分。我们是要将”别人修改的内容”和”我修改的内容”有取舍地合并起来,形成”合并后的结果”。
合并一般分为4种情况:
保留”我的修改”,舍弃”别人的修改”。鼠标右键点击Mine框的相应行,点击”Use this text block”。
舍弃”我的修改”,保留”别人的修改”。鼠标右键点击Theirs框的相应行,点击”Use this text block”。
同时保留”我的修改”和”别人的修改”,并将”我的修改”放在前面。鼠标右键点击Mine框的相应行,点击”Use text block from mine before theirs”。
同时保留”我的修改”和”别人的修改”,并将”别人的修改”放在前面。鼠标右键点击Mine框的相应行,点击”Use text block from theirs before mine”。
合并完成,Ctrl+S存盘,退出。
然后,在资源管理器中,选择冲突文件,鼠标右键菜单选择”Resolved”,标记冲突已解决。系统会自动删除因冲突而新建的文件。此时,就可以继续进行commit操作了。
《1》固化SVN提交格式 --- SVN客户端更改
1.在SVN所在的文件夹(网络上是全体的,本地是只针对自己),右键TortoiseSVN,选择Properties(属性)
2.在弹出的界面中,选择new...(新建...),然后选择Other
3.在弹出的界面中,Property name项选择tsvn:logtemplate,然后在Property Value中填入模板
【提交类型】:BUG/新功能/需求修改/版本制作/代码整理/解决编译不过/阶段性递交/追加递交
【问题描述】:
【程序描述】:
【修改内容】:
1.
2.
【相关单号】:无
【需要测试】:是/否
服务器中安装的VisualSVN Server ,在新增Repositoreis时,每个Repositoreis(即新建的项目)下都会有一个hooks(钩子程序)在hooks目录下有一些tmpl文件,作为不同的hooks操作
新建一个pre-commit.bat文件,文件内容如下:
[plain] view plain copy print?
- @echo off
- setlocal
- set SVN_BINDIR=C:/Program Files/VisualSVN Server/bin/
- set REPOS=%1
- set TXN=%2
- rem check that logmessage contains at least 20 characters
- svnlook log "%REPOS%" -t "%TXN%" | findstr "....." > nul
- endlocal
- if %errorlevel% gtr 0 goto err
- exit 0
- :err
- echo 请填写Log!!!日志格式具体如下: 1>&2
- echo 【提交类型】:BUG/新功能/需求修改/版本制作/代码整理/解决编译不过/阶段性递交/追加递交 1>&2
- echo 【问题描述】:该单的描述,从devtrack中复制过来或从功能性对本次修改的描述 1>&2
- echo 【程序描述】:无(原因分析或者是对修改的技术性描述) 1>&2
- echo 【修改内容】: 1>&2
- echo 1.修改的内容1 1>&2
- echo 2.修改的内容1 1>&2
- echo 【相关单号】:无 1>&2
- echo 【需要测试】:是/否 1>&2
- exit 1
《2》虚拟机virtualBox禁止时间同步
打开虚拟机内的注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VBoxService项下的ImagePath键,将其值修改为system32\VBoxService.exe --disable-timesync