Svn(Subversion)

VisualSVN-Server是SVN的服务端。TortoiseSVN是客户端。D:\SVNRepositories是安装VisualSVN-Server时候选择的仓库路径。\library1是新建的仓库。

https://shinery-yw-001.siit.org/svn/library1是访问地址。

建立svn仓库

命令svnadmin create 仓库名称,图形创建仓库

仓库目录说明

db目录:数据存放文件。

hooks目录:脚本文件的目录。pre-commit.tmpl是提交之前的操作,post-commit.tmpl是提交之后的操作,start-commit.tmpl是提交之后的操作。

locks目录:锁。同时修改同一个文件时候可以锁起来,别人就不能修改,锁释放了才可以修改。

format:版本号码,初始的时候是0,修改一次就加1,现在是5。

conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。

.svn 记录着两项信息: 本地文件和服务器文件的对比,和本地文件最后更新的时间戳。修改删除这个文件,那么本地文件夹就是一个普普通通的文件夹,不再是svn文件夹。

需要用户名和密码:

创建用户名和密码

在D:\SVNRepositories\client-user1新建一个文件,此时图标是问号

表示这是一个未知的文件,不知是否想加入svn的管理。

点击+号,表示加入版本控制中,此时的图标变为+号

表示已经加入版本控制。但是还没有提交到服务器,

Commit之后文件就变为✔了。

修改仓库的属性:

把everyone给remove掉

重新add用户,选择read-only

添加组,比如安卓组和ios组。组里面可以添加成员。

文件冲突之后

.mine是我的文件。R3,R4是版本号,R3是冲突之前都没有提交的版本号文件,R4是有人提交之后也就是服务器此时的最终版本号。

黄色的忽略,关注红色的。

查看文件的log信息。

和之前的版本进行比较。最左边是版本号。

5版本和6版本进行比较。

打开当前版本

撤销到当前版本。

空白区域show log,查看所有的log信息。

SVN与Eclipse整合

下载SVN插件(http://subclipse.tigris.org)

我们使用版本eclipse_svn_site-1.6.5.zip

解压到一个文件夹中

进入 eclipse 安装目录中 dropins 目录并创建一个 subclipse.link 的文本文件(文件名任意)。内容为:path=eclipse_svn_site-1.6.5.zip解压路径(注意:路径中需要把‘\’替换成‘/’)

重启。

Subversion目录规范:3个文件夹

/trunk 存放开发的“主线”

/branches 存放支线副本

/tags 存放的当前发布的副本

比如主线开发1.0版本,开发完成之后发布1.0版本。发布就是发布在tags留存一份。有一个约定,Tags里面的代码不会去更改,只是存放一个里程碑的版本。然后现在做2.0版本,那么主线就是存放2.0版本,现在1.0版本有bug,那么其他人继续做trunk里面的2.0版本,指派一个人去修复bug,trunk里面已经改动到2.0去了,那么他就从tags里面导出代码,因为tags里面的代码是原则上不再更改的,从tags里面导出的代码放到branches分支里面去修改。他修好之后发布1.1到tags里面。1.1版本也要发布到2.0里面去。

2018svn1的更多相关文章

随机推荐

  1. java.math.BigDecimal保留两位小数,保留小数,精确位数

    http://blog.csdn.net/yuhua3272004/article/details/3075436 使用java.math.BigDecimal工具类实现   java保留两位小数问题 ...

  2. centos针对postgres出现的postgresql Ident authentication failed for user

    首先:将/var/lib/..../pg_hba.conf文件中的indent全修改为trust即可. #local   all             all                    ...

  3. ASP.NET CORE RAZOR :向 Razor 页面添加验证

    https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/validation 本部分中向 Movie 模型添加了验证逻辑. ...

  4. implicitly declaring function 'malloc' with type void *(unsigned long ) 错误 解决

    errror :   implicitly declaring function 'malloc' with type void *(unsigned long ) Be sure to includ ...

  5. Hibernate 中的DetachedCriteria。

    今天看到项目中在Web层使用DetachedCriteria进行多条件查询操作,如果在web层做持久层操作,事物还存在吗?这是我第一反应,于是乎就去网上查资料了.结果发现即在web层,程序员使用Det ...

  6. 快速用CMD打开当前目录

    按住shift,鼠标右键,选择在此处打开命令行窗口.

  7. 生成JNI的DLL时提示找不到jni.h的解决的方法Cannot open include file: 'jni.h': No such file or directory

    解决的方法: 就是到jdk的安装文件夹下include下把下面对应的文件,拷贝到vc文件夹下的include文件夹下 \jdk\include\jni.h \jdk\include\win32\jaw ...

  8. saltstack内置state模块user

    user 模块是用来创建用户和管理用户设定的,用户可以被设置成 present 状态或者 absent 状态. hwg: user.present: - fullname: Jim - shell: ...

  9. Linux进程间通信(三) - 信号

    什么是信号 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是进程间通 ...

  10. iOS开发之提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploading this package

    iOS开发之提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploadin ...