你会发现这些脚本都是
svn
分支相关的操作。个人在使用
Git
的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出Git
的优秀)。
原因:Git
的概念模型一等公民支持分支,切换分支是件很简单且统一的事,而svn
不得不涉及仓库的URL
(不统一简单)。我已经在自己的开发机上卸载了
svn
,没有需求场景也没理由再用了。 😛使用更现代的
Git
吧! 💥
- swtrunk.sh
自动svn
工作目录从分支(branches
)切换到主干(trunk
)。
PS:Git
对应的是git checkout master
,如果你使用了oh-my-zsh
,已经有对应的别名加速了:gcm
。 - svn-merge-stop-on-copy.sh
把指定的远程分支从刚新建分支以来的修改合并到本地svn
目录或是另一个远程分支。
PS:Git
的合并很直接简单,git merge branch-foo
,也更智能(没有树冲突一说)。 - cp-svn-url.sh
拷贝当前svn
目录对应的远程分支到系统的粘贴板,省去CTRL+C
操作。
PS:Git
分支不需要URL
来引用,没有这个脚本的需求,直接给个分支名就好了。
svn
工作目录从分支(branches
)切换到主干(trunk
)。
支持Linux
、Mac
、Windows
(cygwin
、MSSYS
)。
命令以svn
的标准目录命名约定来识别分支和主干。
即,分支在目录branches
下,主干在目录trunk
下。
示例:
swtrunk.sh # 缺省使用当前目录作为svn工作目录
cp-svn-url.sh /path/to/svn/work/directory
cp-svn-url.sh /path/to/svn/work/directory1 /path/to/svn/work/directory2 # svn工作目录个数不限制
$ swtrunk.sh
# <svn sw output...>
svn work dir . switch from http://www.foo.com/project1/branches/feature1 to http://www.foo.com/project1/trunk !
$ swtrunk.sh /path/to/svn/work/dir
# <svn sw output...>
svn work dir /path/to/svn/work/dir switch from http://www.foo.com/project1/branches/feature1 to http://www.foo.com/project1/trunk !
$ swtrunk.sh /path/to/svn/work/dir1 /path/to/svn/work/dir2
# <svn sw output...>
svn work dir /path/to/svn/work/dir1 switch from http://www.foo.com/project1/branches/feature1 to http://www.foo.com/project1/trunk !
# <svn sw output...>
svn work dir /path/to/svn/work/dir2 switch from http://www.foo.com/project2/branches/feature1 to http://www.foo.com/project2/trunk !
把指定的远程分支从刚新建分支以来的修改合并到本地svn
目录或是另一个远程分支。
支持Linux
、Mac
、Windows
(cygwin
、MSSYS
)。
svn-merge-stop-on-copy.sh <来源的远程分支> # 合并当前本地svn目录
svn-merge-stop-on-copy.sh <来源的远程分支> <目标本地svn目录>
svn-merge-stop-on-copy.sh <来源的远程分支> <目标远程分支>
svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 # 缺省使用当前目录作为svn工作目录
svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 /path/to/svn/work/directory
svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://www.foo.com/project1/branches/feature2
姜太公提供此脚本。
拷贝当前svn
目录对应的远程分支到系统的粘贴板,省去CTRL+C
操作。
支持Linux
、Mac
、Windows
(cygwin
、MSSYS
)。
cp-svn-url.sh # 缺省使用当前目录作为svn工作目录
cp-svn-url.sh /path/to/svn/work/directory
$ cp-svn-url.sh
http://www.foo.com/project1/branches/feature1 copied!
ivanzhangwb提供此脚本。
拷贝复制命令行输出放在系统剪贴板上,给出了不同系统可用命令。