此文仅仅是自己笔记做个备忘。因为自己开发一些中小型的软件经常需要修修改改,特别是winform界面的大改动。经常需要对版本进行管理。而租用分布式服务器和远程服务器都不是自己想要的。本文结合虚拟机 + 本地电脑,来模拟SVN的方式对自己的代码项目进行版本控制,提升自己的开发效率。
本案例采用的是win7 bit32位系统作为自己的电脑,使用VS2013编写C# winform程序。 visual box虚拟机安装win2008 sever bit32位。win2008当远程服务器保存开发中的多个版本。所用到的软件打包百度网盘下载。
好了,下面具体的部署过程。首先几个常用软件:
1.TortoiseSVN-1.8.11.26392-win32-svn-1.8.13.msi
2.LanguagePack_1.8.11.26392-win32-zh_CN.msi
3.VisualSVN-Server-3.3.1-win32.msi
第1、2个是安在本机win7系统上面,第3个在win2008 上面。
以上软件下载地址百度一下就会有的。这里不提供下载地址,因为都是开源免费的东西。去官方下载对应的版本即可。ps:win2003系统无法支持现在最新的VisualSVN-Server-3.3.1-win32.msi。必须是win 2008 sever。win2008这个去taobao是可以搞定的,具体的激活办法店家都会告诉你。OK。东西都准备好了,我们在visual box里面安装win2008 sever。在win7安装TortoiseSVN和简体中文包。
win 2008sever bit32 在虚拟机中安装好
virtualbox使用桥接模式安装win2008.
TortoiseSVN在你自己的电脑安装并汉化好
下面,通过建立windows的局域网共享文件夹,把VisualSVN-Server-3.3.1-win32.msi共享给虚拟机中的win 2008. 把它安装到虚拟win2008中。
win2008如果无法安装,要对这个权限解除绑定,然后双击即可安装:
我这里用默认的路径。安装完成之后,会弹出默认的窗口:
安装好了之后,它会呈现如下的界面,这个时候你需要在这里创建一个文件夹(Repositories里面),然后在创建的这个文件夹里面再创建一个用户名密码,并且赋予这个用户名访问这个文件夹的权限。之后就是把自己电脑上面那堆文件上传到这个虚拟机电脑的这个文件夹中。具体可以看下面第2行提供的链接,有详细操作。
开始用户分配和权限控制:
http://www.cnblogs.com/ttzhang/archive/2008/11/04/1325940.html
这里需要用到的所有软件,打包在百度网盘可供下载:
链接:http://pan.baidu.com/s/1dDnNFTR 密码:jdhw
省去一个个下载的麻烦。
我这里安装的顺序:
先在win7上安装好两个文件,然后在虚拟机win2008中安装并配置好那边的文件夹和权限。最后是尝试用TortoiseSVN上传和下载文件无误,
最后才是安装vs的那个插件ankhsvn,整个过程非常顺利。ankhsvn这个是需要在官方网站去下载的,在VS2013扩展和更新那里选择查看联机插件就会看到:
点击它,就会跳转到插件的官方网站,是英文版本的,下载之后,你重启VS2013打开一个项目,就会看到如下的界面:(Pending Changes),你在虚拟机中创建相应的目录,然后复制那个url,然后就可以在VS2013这里提交代码到服务器的SVN里面了。
在使用过程中一些注意事项,最新版本的TortoiseSVN上传文件到服务器的时候,会遇到403 forbidden的错误。不同的文件夹尽量不要使用不同的用户名授权。比如A文件夹和B文件夹,最好是同时授权给user1允许读写操作。如果是A授权给user1, B授权给user2. 有可能会发生这种错误。哪个最先建立,就以哪个的为准。B文件同样也使用A文件的user1授权。另外服务器那边防火墙的设置要允许程序通过:
SVN使用技巧:
一般而言,我们在vs2013这种编辑器中submit提交源代码,只会提交bin/debug/目录下面的cs文件,而对于一些程序依赖的dll文件,还有config配置文件,还有其他的图片文件等,这些都不会提交到SNV里面,我们在vs203中提交了代码之后,如果有其他的文件需要一并提交到服务器的话,就需要“增加”一些文件提交上去。如图:我这里的exe文件要顺利运行,还得需要必备的dll和db文件,还有其他的一些图片和配置文件。选中这些文件,增加到服务器SVN中即可。下次,自己检出的时候就不会出现源代码的依赖文件丢失而导致无法运行。