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 以保持关注。