码云SVN支持

现在码云目前支持使用 Subversion 对仓库进行操作,以下是使用指南和注意事项。

使用前注意

仓库体积超过300 MB不建议使用 Subversion 操作仓库,存储库容量达到 400 MB,或者 300 MB 并且存储大量非文本数据时,我们将关闭仓库的 Subversion 支持。

由于 GIT 不支持空目录的提交,在存储机器上,无论是普通仓库还是开启 Subversion 接入的仓库存储时都是 GIT 仓库,Subversion 的 commit 是提交到 git 仓库上的,所以码云的 Subversion不支持空目录的提交。

第一次开启 Subversion, 操作一个仓库,如果仓库体积较大或者提交次数较多,由于缓存的缘故,响应时间会比较长。

不支持 Subversion 的 Hook 机制,请使用 WebHook 替代。

Subversion 属性不完全支持。

客户端需要开启 SASL 支持,不支持的客户端无法访问。

部分 svn 命令不支持。可以查看Subversion 客户端的兼容性

版本号的映射,目前 Subversion 的版本号计算依据为本分支所有的commit 数目减一 不包括 merge ,如果使用了在 git 中强制回退等操作,请重新检出。

WARNING:

由于 git 在设计上就没有考虑空文件Kernel.org: Git FAQ

我们设计的原则就是不破坏,不主动修改用户的仓库,我们的后端存储的完全是一个 git 仓库,如果我们添加了,一次提交内容也不会一致了,建议你在添加目录的时候添加 .keep 之类的占位文件,空文件即可。

Git 与 SVN 混用时尽量不要使用 Git 强制推送。Git 与 SVN 混用注意事项

关于改版

Subversion 功能的最终解释权归 OSChina.NET 所有。Subversion 接入的规则可能在下一次改版中发生改变。

开启方式

在项目的设置界面开启

如果是空仓库:

使用指南

码云 支持的是 svn 协议。  对于 svn 而言,获取一个仓库的代码通常是 checkout,在项目主页我们通常可以获得 URL:

这个仓库地址为:

svn://git.oschina.net/svnserver/newos

1.获取仓库代码:

svn checkout svn://git.oschina.net/svnserver/newos newos

注意信息码云的 SVN 接入后端是通过 git 存储库实现,URL 规则为 svn://域名/用户名/项目名 .

使用上述命令,我们将得到项目默认分支的代码。并将本地的工作目录命名为newos

如果最后不带 newos,svn 默认把本地工作目录命名为 项目名

svn checkout svn://git.oschina.net/svnserver/newos

如果要获得任意分支代码,例如获取newos的dev分支,请输入近似如下的命令:

此时地址为:svn://域名/用户名/项目名/branches/分支名.

svn checkoutsvn://git.oschina.net/svnserver/newos/branches/dev

特别的说明,获取主干分支,也就是 master 分支可以使用下面的分支格式

svn checkoutsvn://git.oschina.net/svnserver/newos/trunknewos

svn trunk 分支对应 master 分支 用户应当尽量不使用下面格式

svn checkout svn://git.oschina.net/svnserver/newos

操作说明

如果部分检出仓库,并且仓库根目录下包含 branches/tags/trunk 这样的目录,请使用完整的路径 layout,如下:

svn://git.oschina.net/username/example/trunk/tags/hellosvn://git.oschina.net/username/example/branches/dev/trunksvn://git.oschina.net/username/example/branches/dev/branches

如果没有 master 分支,也就没有 trunk 分支,检出的 URL 不能省略分支名。比如只有一个 dev 分支,必须使用下列格式,否则会提示仓库不存在。

svn cosvn://git.oschina.net/svnserver/newos/branches/dev  svnserver_dev

打开终端,输入上述命令,出现以下下面提示。其中第一个认证领域是用户的密码,这个可以留空。而用户名是用户在 GIT@OSC 登陆时使用邮箱地址。密码则是用户登陆 码云 所使用的密码一般而言,svn 会加密缓存用户的用户名密码,所以,对仓库的操作只需要第一次输入用户邮箱和密码。清除密码缓存,用户目录下的.subversion/auth/svn.simple文件夹下的文件。

下图则是成功的拉取了项目代码。

查看本地工作目录信息:

svninfo

cdhelloworldecho"test"> SVNReadMe.md#svn add SVNReadMe.md#svn add * --force类似于git add -Asvn add * --forcesvn update .svn commit -m"first svn commit"

Subversion 在提交前建议先使用 svn update 更新工作拷贝。也就相当于 git pull 后再 git push。

Subversion 的提交是在线的,如果机器已经离线,那么提交会失败,这个过程用git的方式理解就是 git commit+git push。

用户使用 svn 提交代码同样会有动态显示。

列出版本库中的目录内容:

svn listsvn://git.net/svnserver/newos/trunk

导出仓库指定分支的所有文件,不含版本控制信息:

svn exportsvn://git.net/svnserver/newos/trunknewos

备注

安装 Subversion 客户端

在 Apache 基金会的 Subversion 官网:

http://subversion.apache.org二进制下载提示页面:

http://subversion.apache.org/packages.html

Windows 系统:

与资源管理起集成的 SVN 客户端:TortoiseSVN,通常被叫做"海龟",为 msi 安装包。可以使用ExtractMSI解压缩。很诡异的是,在 Apache 上并没有推荐 TortoiseSVN。另外还有 SlikSVN,下载地址:https://sliksvn.com/download/其他的也就不一一介绍了。

Linux 系统

一般而言 Linux 系统自带的包控制软件能够安装 Subversion,如果版本低于1.8,就建议用户下载预编译的二进制或者自己动手编译 Subversion。这里不做过多说明。

OS X

XCode 自带的 Subversion 版本为1.7.x,太老,而 GIT@OSC 只支持1.8以上的 SVN 客户端。

如果安装了 Homebrew

brew install subversion

或者使用WANdisco的预编译版本http://www.wandisco.com/subversion/download#osx

Subversion 客户端的兼容性

我们支持 Apache Subversion 1.8 或者更高的版本,当你安装一个 Subversion 客户端时,如果错误提示是“无法协商验证验证方式” 请确保你的客户端支持 SASL 验证,比如在 Ubuntu 上,你可以安装 libsasl2-dev 然后编译 Subversion, 这样的话客户端是支持 SASL 验证的。

sudo apt-get install libsasl2-dev

当你使用 svnkit 或者 SubversionJavaHl 这类 IDE 集成客户端,请确保支持 SASL 验证。

关于 GIT 与 SVN 的转换

如果用户存在一个基于 Subversion 托管的项目,要迁移到 GIT@OSC,可以使用 git-svn 将项目转变为基于 git 的仓库,然后推送到 GIT@OSC,这样你依然能够使用SVN对项目进行操作。请记得先在 GIT@OSC 上新建一个项目

git svnclonehttp://myhost/repo -T trunk -b branches -t tagsgit remote add oscgit https://git.oschina.net/user/repogit push -u oscgit --all

通常来说,如果本地存在 SVN 仓库,则可以:

git svn clone file:///tmp/svn-repo -T trunk -b branches -t tagsgit remote add oscgit https://git.oschina.net/user/repogit push -u oscgit  --all

将项目转移到 GIT@OSC 上以后,使用 svn 命令 checkout 即可对项目进行操作。

高级指南:http://git-scm.com/book/zh/ch8-2.html

安装 git,git-svn

Windows

msysgit 官网http://msysgit.github.io/,版本比较低。

Github for Windows 提供的 git 工具和 msysgit 一致。

MSYS2 git 下载地址:http://sourceforge.net/projects/msys2,然后启动终端,安装 git,目前版本为2.4.3。

pacman -S git

Cygwin git 下载地址:http://www.cygwin.com/,然后使用包管理软件或者直接下载 git 源码编译 git。

makeconfigure./configure --prefix=/usr/localmakemakeinstall

Linux

有包管理器的直接用包管理器安装。

如 Ubuntu

sudoapt-get install git git-svn

也可以手动编译。

Mac OSX

下载地址:http://git-scm.com/download/mac

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容

  • &开发过程中离不开源代码的管理, 目地:为了解决在软件开发过程中,由源代码引发的各种蛋疼、繁琐的问题。 目前开发使...
    早起的虫儿子被鸟吃阅读 2,335评论 0 16
  • 本片内容转自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃儿阅读 4,832评论 2 88
  • 儿时的我们 总爱在夏日的夜晚 靠在母亲的身边 呆呆的看着满天星斗 那时的我们 在幻想着 是谁住在星星的另一边 长大...
    叛逆猫儿阅读 216评论 0 4
  • 你们真的合适么,吃顿饭试试。 吃是一个重要的生活常态,无论在哪儿做什么,也无论是谁,都要吃饭的,吃饭里面的门道可多...
    笑不二阅读 261评论 0 0
  • Y小姐和H先生就是最典型的例子,两个人从大学就在一起,毕业以后H先生进入了一家小公司工作,工作繁忙,整天加班,薪水...
    TimYu猫阅读 186评论 0 1