Tag Archives: svn

svn merge

svn merge 的 help 信息 usage: 1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH] 2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH] 3. merge [-c M[,N...] | -r N:M …] SOURCE[@REV] [WCPATH] svn 的 merge 的本质其实就是在两个版本之间生成 diff,然后把这个 diff 再应用到另外一个版本里面。 所以可以看到 merge 和最后的那个 WCPATH 之间,通常都需要指定两个版本。WCPATH 可以是其中的一个,这个没关系。 一般都是把新多出来的部分 merge 到另一个版本,所以通常是 svn merge old_ver new_ver working_ver 其中那个 working_ver 可以是 old_ver。 最好在 merge 之前加一个 –dry-run [...]

强大的 git 和 git svn

在春哥的鼓动下,用上了 git。有 git svn 支持,还是很好用的,建议 svn 用户都试试看。 使用 git svn clone SVN_URL 来 clone 初始化你的本地 repo,然后就和 svn 没关系了,直到你需要把你的改动提交到 svn 的 repo。 先说说 git 的一些本地操作,就捡我自己用的说吧,我觉得应该也够用了。 首先 git add 是用来添加文件的,编辑好新的文件后,使用 git add file_name 就能把他加入到 git 里面管理,当然,如果还不打算提交他,那也可以先编辑以后再 add。 然后 git mv 改名,git rm 删文件,这和一般的 linux 命令差不多,就不用多说了。要记得的是,如果想让你的改动加入到 git 的管理里面,那就最好使用这两个文件来改名和删文件。如果直接用 linux 命令操作,比如改名,git 会认为你要删一个文件,并且那个新的文件还没不会加入到管理里面。 然后就是 git status 了。执行这个能看到当前 repo 的分支(例如下面的第一行说的 wd)里面有哪些改动,这个里面的信息应该是能分四类。一类是对文件的操作,比如添加删除文件等(changes [...]

‘/svn’: 301 Moved Permanently

今天搭了一个svn,遇到了这个问题,这个问题在 subversion 的 FAQ 里面就有。不过看了半天没弄明白怎么回事,呵呵。后来糊里糊涂弄好了,也没明白。刚才突然明白了。。。 比如你的 documentroot 指向了 /www 下面, 而你的 svn 的 path 设置到了 /www/svn 下面,就会出这个问题。因为,用户如果访问的是 /www/svn/proj1 的时候,那应该是按照一个正常的目录处理呢,还是按照 svn 的一个项目处理呢?这可是不同的,因为如果是一个 svn 项目,那就交给 dav-svn 处理的,按照其它svn 项目一样,会显示这个项目的 reversion 什么的。但是如果是按照目录处理,那就交给了 apache 处理,他会在这里面找 directory index 等一些操作。这就会让 apache 很困惑。 解决的办法也比较简单,就是在 /www 下面不要出现你的 svn 的名字,也就是说,把你的 /www/svn 弄到 /www 之外去。这就没问题了。当然,如果哪天某个哥们无心的在 /www 下面建了一个 svn 文件夹,那这个又会出现,呵呵。