Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

精简分支结构, 合并最新代码到master #36

Closed
34 of 35 tasks
fasheng opened this issue Feb 17, 2016 · 15 comments
Closed
34 of 35 tasks

精简分支结构, 合并最新代码到master #36

fasheng opened this issue Feb 17, 2016 · 15 comments

Comments

@fasheng
Copy link
Contributor

fasheng commented Feb 17, 2016

目前来看, 配合 code review 和 git tag 直接在 master 分支进行项目开发应该没有太大问题, 趁着现在 gerrit 上的cr不是太多, 准备统一把最新代码(release, develop)合并回 master, 同时使用 master 分支作为开发者源的默认打包分支. 其他特性分支(feature)和旧版本维护分支(release/xxx)则按需创建.

因为合并分支可能会出现冲突, 建议由各项目负责人自行处理, 以 dde-control-center 为例, 步骤如下:

  1. 合并分支

    # 切换 master 分支
    git checkout master 
    
    # 合并最新 dev/2015 分支
    git merge --no-ff dev/2015
    
    # 若出现冲突, 一般情况下可以直接使用 dev/2015 分支的代码进行修复
    git checkout dev/2015 .
    git merge --continue
    
    # 添加 Change-ID
    git commit --amend
    
    # 提交到 gerrit, 需手动添加 reviwers
    git push origin master:refs/for/master
  2. 更改 pkg_debian(debian 分支) 下的 branchs.json 文件更改默认打包分支

注: 1 和 2 review 通过后, 建议先提交 pkg_debian, 否则需要手动触发一次打包如

curl "http://10.0.0.8:9998/build/package=dde/dde-control-center&branch=debian"

任务列表
如果觉得操作太复杂, 可以直接编辑贴子把任务分配给我, 我的任务会
放到最后处理 :)

@XuShaohua

  • deepin-remote-assistance release/1.0
  • deepin-gettext-tools develop

@hualet

  • deepin-menu release/3.0
  • deepin-notifications release/2.3
  • deepin-movie release/2.3
  • deepin-music release/2.3
  • deepin-terminal release/1.1

@sbwtw

  • dde/dde-control-center dev/2015

@pangpangpang3

  • deepin-qml-widgets release/2.4
  • deepin-screenshot release/3.1
  • deepin-social-sharing release/1.1

@kosl90

  • deepin-file-manager release/1.0

@jouyouyun

  • dde/dde-api release/3.0
  • dde/dde-daemon release/3.0
  • dde/startdde release/3.0
  • go-lib develop
  • dbus-factory release/3.0

@Iceyer

  • deepin-boot-maker develop
  • deepin-installer release/1.3
  • deepin-windows-installer develop

@fasheng

  • deepin-feedback release/1.0
  • deepin-grub2-themes develop
  • deepin-icon-theme develop
  • default-settings release/1.3
  • go-dbus-generator develop
  • dae release/1.0
  • 切换 github 仓库默认分支为 master

过期项目, 放到最后处理

  • dde-dock-applets release/3.0
  • deepin-game develop
  • deepin-sync-service develop
  • deepin-download-service release/1.0
  • deepin-theme-bucket release/1.0

下面的项目相对特殊, 无需处理

  • deepin-gtk-theme gtk3.18
  • deepin-mutter release/3.18
  • dde/dde-workspace remove

待定

  • plymouth-theme-deepin develop
  • team-robots develop

@leaeasy @gs342

  • 统一更改 branchs.json 并触发打包

Q&A

  1. 合并分支时, gerrit 上未提交的 cr 如何处理?

    建议先把 cr 处理完毕再合并分支, 或者分支合并完成后, 到 gerrit 页 面把受影响的 cr依次 cherry-pick 到 master 分支, 然后将旧的 cr 关闭

  2. 分支合并到 master 后, git review 时不小心把代码提交到旧分支该怎么办?

    两种方法:

    1. [推荐] 本地执行 git commit --amend 更改 Change-ID 后重新 git review, 然后将旧的 cr 关闭
    2. 到 gerrit 页面把受影响的 cr 依次 cherry-pick 到 master 分支, 然后将旧的 cr 关闭

@linuxdeepin/app-team @linuxdeepin/dde-team @linuxdeepin/system-team

@sbwtw
Copy link

sbwtw commented Feb 17, 2016

那 dde-control-center 原来的 master 怎么办?
两个分支都是独立的,而且原来那个分支还在2014版本上用着

@fasheng
Copy link
Contributor Author

fasheng commented Feb 17, 2016

不用担心, 2014 的维护分支是 maintain/2014 不是 master

@fasheng
Copy link
Contributor Author

fasheng commented Feb 25, 2016

看来还是让 @hualet 和我统一处理好了,会在原master分支最新提交打一个fallback tag(具体名字还没想好),这样也可以避免 @sbwtw 提到的问题,可以为后期需要时创建维护分支留后路
@snyh

@hualet
Copy link
Contributor

hualet commented Feb 25, 2016

确定一下以后以master为主要活跃分支,其他分支项目负责人自己处理,这样有什么问题么? @fasheng

@fasheng
Copy link
Contributor Author

fasheng commented Feb 25, 2016

没有问题啊, 以后项目负责人自己管理分支就好. 简单的说, 这次就是要把代码合并回 master 而已.

@hualet
Copy link
Contributor

hualet commented Feb 25, 2016

OK,明天我就可以帮忙推进这件事情,我也早想这么干了,这样给不熟悉的项目提交代码就不用看branches.json的内容了 😂

@Iceyer
Copy link
Member

Iceyer commented Feb 26, 2016

@fasheng pkg_debian你统一改了吧,不然pkg_debian等下就有一大堆cr了

@fasheng
Copy link
Contributor Author

fasheng commented Feb 26, 2016

好, 今天上午就会开始处理这个任务, 会统一更改 branch.json

@hualet
Copy link
Contributor

hualet commented Feb 26, 2016

我负责的几个项目已经提交了,深度音乐我看 @iceleaf916 之前已经合并过了,所以就没有处理了。

@hualet
Copy link
Contributor

hualet commented Feb 26, 2016

@pangpangpang3 的我也已经帮忙处理了。

@fasheng
Copy link
Contributor Author

fasheng commented Feb 26, 2016

Thanks @hualet :)

@sbwtw
Copy link

sbwtw commented Feb 26, 2016

dde-control-center 已经合并

@fasheng
Copy link
Contributor Author

fasheng commented Feb 26, 2016

Thanks

@fasheng
Copy link
Contributor Author

fasheng commented Feb 26, 2016

@Iceyer 不确定 plymouth-theme-deepin 上那个分支是最新代码,有时间你自己处理吧
以及 team-robots, @choldrim 前不久刚刚做了 rebase 操作,先不合并分支了。

目前正在审核 pkg_debian,若没有问题,后面会手动依次触发打包.

以后大家把代码提交到 master 分支就可以了 :)

git review master

@Iceyer
Copy link
Member

Iceyer commented Feb 29, 2016

@fasheng plymouth-theme-deepin 已经处理完了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants