openSUSE:YaST SVN 到 GIT
YaST SVN 到 GIT 的迁移
约定
- 分支名称和标签的保留前缀是
"openSUSE-" 和 "SLE-" 和 "Code-"
它们仅应用于包含相应发行版的发布版本的分支。
分支名称将采用此格式
openSUSE-$VER 例如 "openSUSE-12_2"
SLE-${SLE_VER} 例如 "SLE-12"
SLE-${SLE_VER}-SP${SP_VER} 例如 "SLE-12-SP1"
Code-${SLE_VER} 例如 "Code-11"/"Code-11-SP1" (如果 SLE 和 openSUSE 共享相同的代码库)
标签将采用此格式
openSUSE-${DIST_VER}/${PACKAGE_VER}
openSUSE/${PACKAGE_VER} (以前称为 stable-$VER)
SLE-${SLE_VER}/${PACKAGE_VER}
SLE-${SLE_VER}-SP${SP_VER}/${PACKAGE_VER}
您可以随意使用任何其他分支和标签名称。但是,为了支持我们习惯的自动化,请坚持维护分支的命名方案。
- 分支 由于每个模块现在都位于自己的仓库中,因此不再需要全局的分支一切。从现在开始,模块维护者决定何时分支维护分支。理想情况下,应尽可能长时间地使用相同的代码库。发布会被标记。在需要时创建分支,而不是在产品发布时创建。
转换历史
我们(Bernhard Wiedemann 和 Daniel Schmidt)致力于将 YaST SVN 仓库迁移到多个 GIT 仓库。由于 YaST 对 SVN 的使用方式有些不寻常,因此无法使用现有工具(如 git-svn)完成此操作。我们发现了一种使用修补版本的 svndumpfilter3 完成此操作的方法。一旦迁移工作顺利,并且我们的补丁清理完毕,我们也会发布我们的工具。
我们的目标
在 2011 年的长时间讨论中,发起者同意通过迁移实现这些目标
- 为每个 YaST 模块创建一个 git 仓库
- 在仓库中包含所有历史记录,包括所有分支和标签
- 创建一个 yast-meta 仓库,其中包含能够以与当前 svn 检出或在其他仓库中搜索相同风格地检出单个或所有 yast 仓库的脚本
Thomas Göttlicher (tgoettlicher@suse.de) 正在收集用例
(例如“查找发行版 Y 中软件包 X 的最新版本标签”)
- 清理和统一分支和标签名称
分支名称和标签的保留前缀是
"openSUSE-" 和 "SLE-" 和 "Code-"
它们仅应用于包含相应发行版的发布版本的分支。
分支名称将采用此格式
openSUSE-$VER 例如 "openSUSE-12_2"
SLE-${SLE_VER} 例如 "SLE-12"
SLE-${SLE_VER}-SP${SP_VER} 例如 "SLE-12-SP1"
标签将采用此格式
openSUSE-${DIST_VER}/${PACKAGE_VER}
openSUSE/${PACKAGE_VER} (以前称为 stable-$VER)
SLE-${SLE_VER}/${PACKAGE_VER}
SLE-${SLE_VER}-SP${SP_VER}/${PACKAGE_VER}
您可以随意使用任何其他分支和标签名称。但是,为了支持我们习惯的自动化,请坚持维护分支的命名方案。
- 将所有仓库移动到 github.com/yast/*
最终迁移
最终迁移于 2012/05/17-18 完成。从现在开始,请使用官方 YaST 仓库 github。
更多
订阅 yast-deve@opensuse.org 以保持关注。
: