svn随笔
svn checkout: 在windows中文件最后修改时间与文件创建时间都是当前时间。在Linux中,文件的atime、mtime、ctime(依次是最后一次访问时间,最后一次修改时间已经最后一次inode改变时间)都是当前时间。
svn export: 在windows中文件创建时间是当前时间,最后修改时间是实际上最后一次修改时间。在Linux中,文件的atime、ctime都是当前时间,mtime是实际上最后一次修改时间。
分支与合并
创建分支的方法:(1)创建分支:在trunk目录单击右键 选择TortoiseSVN 选择Branch/Tag 在To URL中输入分支的路径 单击确定
1.从分支合并到主干
在主干目录单击右键 选择TortoiseSVN 选择Merge 选择Merge two different trees 单击Next 在From中输入主干的url,并且Reversion选择创建分支前主干的最后一个版本 在To中输入分支的url(也就是当前目录的url),选择分支的最后一个版本(也可以选head Reversion,head Reversion中的分支的文件与分支最后一个版本中分支的文件相比是无变化的,但是head Reversion可能是由于最后一次修改是修改主干而创建的版本号) 单击Next 单击Merge
假如分支和主干中都有文件a.txt,并且合并的时候有冲突,则会在a.txt所在的目录创建三个文件:a.txt.merge-left.rxxx、a.txt.merge-right.rxxx、a.txt.working。其中xxx是left和right对应的Reversion版本号
注意:
(1)虽然是从分支合并到主干,但是from是主干且版本是 创建分支前主干的最后一个版本(也就是说主干的版本不能是创建分之后对主干进行修改后的版本),to是分支的url且版本是分支的最新版
(2)合并原理:将选择的主干作为left,将选择的分支作为right,先从left合并到right。然后将right再合并到当前最新版本的主干(好像会先将left与当前最新版本的主干合并成一个新版本,然后将right再合并到这个新版本,不过这一点有待确认) ,如果有冲突,需要手动修改解决冲突。
2.从主干合并到分支
刚好与1相反,也就是说:
(1)需要在分支目录中单击右键选择Merge
(2) From是分支的url,并且Reversion是创建分支时分支的版本(也就是分支的第一个版本);To是主干的url,且Reversion是主干的最后一个版本。From