本节向大家描述一下在Windows上使用Subversion中如何使用SVN创建管理项目,在这里和大家分享一下,欢迎大家一起来学习在 使用SVN创建管理项目的方法。首先看一下SVN介绍。

Subversion(以下简称svn,官方网站为http://subversion.tigris.org)是鼎鼎大名的cvs的继任者,使用方法和cvs几乎一样,而且在管理二进制文件、目录方面比cvs更胜一筹,其作者就是cvs之父,所以完全不用担心从cvs转移到svn上会有任何困难。
正式基于以上优点,前几天我尝试了一下svn,在Windows上不仅svnclient可以使用,而且svnserver也非常方便,看来以后就用svn替代cvs吧。
主要参考的文章是:
[1]http://www.nedbatchelder.com/text/quicksvn.html
[2]http://excastle.com/blog/archive/2005/05/31/1048.aspx

step1:使用SVN创建管理项目第一步,首先从http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91下载最新的subversion的windowssetup安装文件,按照提示一路next下去就可以了。这个安装包就包含了client和server的全部文件,安装后就可以在命令行下使用svn,svnadmin,svnserve等程序了。

step2:设置注释编辑器。在系统变量里添加SVN_EDITOR变量,值为任意一个文本编辑器的名字,比如notepad.exe。

step3:创建svnrepository。比如选择c:\svn_repo作为我们的目录,那就先创建这个文件夹,然后再命令行下输入:
svnadmincreatec:\svn_repo
注意,这个repository只是一个仓库而已,你可以在里面创建“虚拟文件夹”,每个文件夹下就可以存放不同的module了。

下面介绍使用SVN创建管理项目时如何从网络上访问你的repository。
svn的地址采用url的方式,如果通过svnserve(后面会介绍)创建网络可访问的服务器,那url地址就是svn://your_ip/module_dir。如果你只想在本地文件系统上访问你的svnrepository,那url地址就是file:///c:/svn_repo/module_dir(按照上面例子)。以后不管你import还是checkout,都只需要这个url作为地址,而且登陆一次后,只需要输入一次url地址,svn会自动记住你的url地址,简单吧。下面就只介绍如何设置一个svn网络服务器。

step4:设置网络服务器的权限。进入到刚才创建的c:\svn_repo,打开conf\svnserve.conf,去掉[general]前的#,去掉auth-access=write前的#,如果你希望匿名用户访问,那就去掉anon-access前的#。去掉password-db前的#。

step5:设置用户名和密码。还是在那个目录下,打开passwd文件,去掉[user]前的#。按照已有的例子,添加可访问的用户名及其密码,去掉前面的#。这和cvsnt的做法很不一样,cvsnt要求可访问用户在cvsrepository所在机器上必须有windows帐户,这实在太苛刻了……,还是svn的做法更简单,虽然明文密码不是很安全……。

step6:使用SVN创建管理项目时设置完用户名和密码后还要启动网络服务svnserve。在命令行下输入svnserve--daemon--root"C:\svn_repo",然后就可以通过ip地址来访问你的服务器了,假设服务器IP地址是192.168.2.168,那你的服务器地址(也即c:\svn_repo的svn地址)就是svn://192.168.2.168。不过svnserve会一直block在命令行上,如果要把它做成一个真正的后台服务程序,还需要一个第三方程序SVNService,可以在http://dark.clansoft.dk/~mbn/svnservice/下载。

step7:创建module的虚拟文件夹。新开一个命令行窗口,输入网管论坛bbs_bitsCN_com svnmkdirsvn://192.168.2.168/proj1,如果你是第一次登陆服务器,则会提示你输入用户名和密码。

step8:import你的工程。进入到c:\proj文件夹,在命令行下输入:svnimport.svn://192.168.2.168/proj1表示把当前目录下的所有文件(及其子目录)都import到url地址所指定的位置上。

step9:checkout你的工程。进入到任意一个文件夹下,输入:svncheckoutsvn://192.168.2.168/proj1testdirproj1模块就下载到testdir下了。之后的项目管理方式就和cvs一样了。

后续问题:
一台机器上只能跑一个svnserve,也即同一时刻,一台机器只能提供一个repository。当然,你可以通过给svnserve指定不同端口,让一台机器提供多个repository,但是这显然没有cvs那样灵活。不过也许有多repository的功能,但是还没发现。
如果喜欢gui的操作方式,有TortoiseSVN这个强大的工具。它可以在Windows资源管理器的右建中加入svn的功能。本节关于使用SVN创建管理项目方法介绍完毕。

九步轻松实现SVN创建管理项目的更多相关文章

  1. java web开发入门九(Maven使用&idea创建maven项目)基于intellig idea

    Maven 1.解决的问题 jar包的依赖和管理:版本.依赖关系等 自动构建项目 2.maven介绍 1.Maven是什么? Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(P ...

  2. idea创建管理项目

    创建分支时以master为准,这时master上的代码已合并完毕,idea右下角可以看到本地和远程的分支,在本地合并时,先切换到master上,选中要合并到master的分支,选择merge into ...

  3. 如何用Android Studio同时使用SVN和Git管理项目

    这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...

  4. eclipse中搭建svn开发管理环境

    1.准备好资源 subversive,若是离线安装,已为大家准备好:http://pan.baidu.com/s/1hrbXH9y(本人喜欢离线安装,在线安装就不在此说了,其实只要一种方法简单的方法能 ...

  5. Linux服务器下用svn创建多个项目

    (1): 创建svn仓库路径        mkdir  -p  /opt/svn/project1        mkdir -p   /opt/svn/project2        svnadm ...

  6. SVN对unity3d项目版本进行管理的不方便问题,研究ing

    unity3d项目版本控制遇到些问题,找了以下资料做参考,现在mark一下,以后慢慢解决,之后总结. Unity开启meta. meta:版本控制文件,在新加入项时,Unity3D会产生一个同名的.m ...

  7. 多项目中SVN权限管理精辟解析

    本节和大家讨论一下多项目SVN权限管理,主要包括建立版本库,修改版本库配置文件,配置允许访问的用户,设置用户访问权限.下面我们就来看一下SVN权限管理.svn权限管理svn的权限管理涉及到一下文件:p ...

  8. Linux下SVN创建新的项目

    Linux下SVN创建新的项目   Linux环境下的SVN创建新的项目 一.前置条件: 1)有安装了linux系统的服务器,123.*.*.29 2)服务器上安装了svn,本人服务器的svn的数据安 ...

  9. 创建Django项目(三)——站点管理

    2013-08-05 21:01:34|         1.激活管理界面         (1) 修改"mysite\mysite\settings.py"文件,将'django ...

随机推荐

  1. 【BZOJ】2277: [Poi2011]Strongbox

    题意 有一个密码箱,\(0\)到\(n-1\)中的某些整数是它的密码.如果\(a\)和\(b\)都是它的密码,那么\((a+b)%n\)也是它的密码(\(a,b\)可以相等).某人试了\(k\)次密码 ...

  2. 硬盘分区工具gparted使用

    一.介绍 GParted是一款linux下的功能非常强大的分区工具,和windows下的‘分区魔术师’类似,操作和显示上也很相似.GParted可以方便的创建.删除分区,也可以调整分区的大小和移动分区 ...

  3. ArcGIS 设置地图显示范围大小(全屏显示)

    Arcmap的FullExtent默认是地图加载的时候的extent.其实这个fullExtent是可以设置的. 打开ArcMap,选择左边图例的Layers ,右键点击,选择“Properties. ...

  4. Highcharts用函数动态填充静态值

    这种方式适用于其他动态函数模式 series: [{ name: 'Random data', data: (function() { // generate an array of random d ...

  5. Linux open函数

    Linux open函数 open 函数用于打开和创建文件.以下是 open 函数的简单描述 #include <fcntl.h> int open(const char *pathnam ...

  6. Oracle connect by 树查询之二

    先用scott用户下的emp表做实验.emp表有个字段,一个是empno(员工编号),另一个是mgr(上级经理编号)下面是表中所有数据 1 select * from emp start with e ...

  7. css sprites介绍

    一.CSS Sprites简介 通常被意译为“CSS图像拼合”或“CSS贴图定位”.CSS Sprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟,CSS Sprites并不是什么金科玉 ...

  8. 【资源】mp3的外链资源

    做开发有时候会遇到需要mp3外链来进行程序的调试,但是自己搭建服务器比较麻烦,而主流的音乐平台都不提供外链音乐.晚上偶得一外链mp3的网站,标记之: http://9hok.com/

  9. bootstrap学习笔记之四(javascript插件)

    下面展现四个插件的用法,一般插件的功能可以用两种方法实现,一种是引入bootstrap.js后,通过添加data属性实现,另一种则是通过js代码是实现. 第一个插件:下拉菜单的实现 第一种方法:dat ...

  10. github上怎么预览页面

    直接在 http://htmlpreview.github.io/? 后面加上git上的地址就可以预览了 比如 http://htmlpreview.github.io/?https://github ...