Skip to content

Latest commit

 

History

History
51 lines (33 loc) · 3.93 KB

FAQ.md

File metadata and controls

51 lines (33 loc) · 3.93 KB

FAQ

FAQ 长期更新,有好的问题欢迎及时提交 PR。

修包的一般流程是什么?

  1. 通过 issue 或者观察 OBS 确认构建失败的软件包,当前重点在 openEuler:Mainline:RISC-V
  2. 初步分析错误原因,并在工作群进行确认
  3. 使用 osc 工具在本地修复构建,由于构建资源的问题,不用分支 home 仓库,直接拉取主线仓库。
  4. 判断是否需要提交 PR,如遇到了类似超时需要重新构建的问题,直接向 mentor 反馈,也可以得到少量薪资评价。
  5. 将修复内容形成一个 PR ,向 src-openEuler 仓库提交。
  6. 在工作群汇报 PR 链接,等待 mentor 帮助审核。

什么是公开可见交付?

公开可见交付一般作为薪资评定的重要依据。一般而言,oerv 的大部分公开可见交付是指向 src-openEuler 仓库提交的有效 PR。以下两种方式作为补充,也判定为有效:

  1. 在进行某个项目或者修复某个比较困难的软件包的过程中,撰写的公开博客、发布的公开视频教程,可以算作公开可见交付。我们鼓励这种行为,但是请注意,相关内容必须与 openEuler RISC-V 工作内容有关。
  2. 在修包或者进行项目时,发现软件包上游可以直接提交 PR,那么在给 src-openEuler 提交 patch 的同时,可以直接向上游提交 PR。这样,一个问题的两个 PR 可以分别独立算作不同的交付。

什么是 OBS?

OBS,全称 Open Build Service,是一个开源的软件构建和发布系统,主要用于构建和分发软件包,支持多种操作系统和硬件架构。 openEuler 的 OBS 系统分支于 openSUSE,承载了 openEuler 社区所有公开发布的软件包的构建和管理。 osc 是 OBS 的命令行客户端,可以帮助开发者在本地拉取 OBS 软件环境进行构建。有关于 OBS 使用的问题建议及时在工作群提问。

为什么会同时存在 tarsier OBS 和 openEuler OBS?

openEuler OBS,网址为 https://build.openeuler.openatom.cn/, 是作为 openEuler 官方正式贡献的 OBS 网站,也是我们建议的贡献平台。tasier OBS 是软件所独立构建的 OBS,主要承载软件包的早期验证和后期独立的第三方项目。

如果 PR 中有错误如何修改?

如果在 PR 修改的过程中没有其他人的 PR 产生冲突,并且需要保持干净的提交历史,可以在修改并提交(commit)之后使用 git commit --amend 或者 git rebase 来合并提交记录,然后使用 git push -f 进行强制推送。以下是具体步骤:

  1. 提交更改

    • 在完成代码修改后,使用 git commit 进行提交。
  2. 使你的提交满足 a simple commit 原则

    • 使用 git rebase 合并提交

      • 如果想合并最近的几个提交,可以使用 git rebase -i 命令。例如,git rebase -i HEAD~2 会开启一个交互式的 rebase 会话,允许操作最近的两个提交。
      • 在 rebase 界面中,会看到一系列的提交,每个提交前都有一个 pick 命令。
      • 将除了第一个提交之外的所有提交前的 pick 命令改为 s(代表 squash),这会将这些提交合并到第一个提交中。
      • 保存并退出编辑器,Git 要求编辑一个新的提交信息,这个信息会包含被合并的所有提交的信息。
    • 使用 git commit --amend 修改提交

      • 如果只是需要修改最近一次的提交信息,可以使用 git commit --amend
      • 这会打开一个编辑器,修改最近一次提交的信息。
  3. 强制推送到远程仓库

    • 使用 git push -f 将更改强制推送到远程仓库

如果执行以上步骤出现 PR 混乱,可能是 PR 修改的时候有其他人提交了会产生冲突的修改,可以思考如何完成正确的 PR 提交,但是并不强求。另一种解决方案是关闭错误的 PR 重新整理提交一个正确的 PR。