773 Star 1.5K Fork 351

开源中国 / Gitee Feedback

 / 详情

分支被删除后解除其与任务的关联

已上线
需求(问题或诉求)
创建于  
2019-03-07 12:46

需求说明

项目必然会有很多分支的,尤其是修复BUG的分支都是临时分支,如果主分支采用Cherry Pick方式拿到BUG分支的提交后,在合并BUG分支提交到Gitee后,相关ISSUE操作记录中就有会多条提交信息,删除BUG分支后,改相关联的提交信息都是死链接,点击后全部是404页面,用户体验非常差

需要目的(解决什么痛点,带来什么收益)

需求来源(用户,竞品,运营,其他)

需求要求

删除分支后把所有ISSUE相关联的操作记录一并删除,死链接没有任何意义

截图

输入图片说明

评论 (18)

Argo 创建了任务
Argo 修改了描述
展开全部操作日志

这个问题修复了吗?怎么没人理啊

liu 负责人设置为Yashin
liu 添加协作者spacexzm
Yashin 添加协作者Yashin
Yashin 负责人Yashin 修改为spacexzm
Yashin 取消协作者spacexzm
Yashin 添加协作者甘樂

@spacexzm_admin 修复一下

Yashin 任务状态意向 修改为已拒绝
Yashin 关联分支设置为master

操作记录的链接是产生的时候就记录的,无法判断分支是否存在来确定链接是否有效哦,不过可以确保如果分支被删除解除任务的关联分支 @spacexzm_admin

Yashin 任务状态已拒绝 修改为已确认

@Yashin 因为有时候先提交了一个 commit 然后本地有时候会合并 commit 导致最终的 commit sha 值变化,再次提交时就会导致原有连接的失效,导致很多 404

@Argo cherry-pick的话会从其他分支中拷贝一份commit到所合并的分支中所以sha值会不同,但是只要是提交到了git仓库中的commit均会被记录。删除分支后这部分commit也是存在的,通过关联在issue操作记录中的commit链接还是可以正常访问的

@spacexzm_admin 这个是行不通的,因为会有 GC 清理后就不存在了,再点都是 404 页面

repo 步骤

  1. master 分支打新分支 dev-fix
  2. dev-fix 提交 commit
    commit内容中 link #xxxx 相关 Issue 会在相关问题下自动生成评论
  3. push dev-fix 分支到码云
  4. 切换回 master 分支
  5. Cherry Pick dev-fix commit
  6. push master 分支到码云
  7. 查看相关 Issue 会发现生成两条评论
  8. 删除 dev-fix 分支
  9. 查看相关 Issue 仍然是两条评论
  10. GC 后被删除分支的评论是死链接 404

@Argo 是的,GC后就没有了。但是无法通过分支是否存在来确认对应commit链接的有效性。建议修复BUG的话,通过PR或者merge的方式合并两个分支的代码,这样就不会生成一条新的commit信息,也不会在Issue中产生两条重复的commit操作记录

@spacexzm_admin 这个问题应该这样说,提交 Issue 的时候可以设置关联分支,我个人建议提交代码进行评论关联时应该判断此选项,如果是关联分支提交的 commit 才自动生成评论比较合理。不然就会出现多个分支提交都会生成关联,一味的要求使用 PR 也不现实,尤其是团队内配合的时候 PR 并不是解决问题的唯一途径。目前这个关联分支我没看到有什么用途。我改一下标题

Argo 修改了标题

@Argo commit关联Issue的操作是通过解析出commit message中的 指令和Issue ident来关联到对应的Issue并执行操作的。比如commit message为“close #ISUU7:分支被删除后解除其与任务的关联”那么就会关联到当前这个Issue中并执行关闭任务操作。和Issue所关联的分支是没有很强的相关性的

@spacexzm_admin 我看了 api 模型里面第一个 ref 参数就是当前 commit 的分支,自动生成评论的时候跟 Issue 设置的相关分支比较一下就可以啦。

@spacexzm_admin 我看了 api 模型里面第一个 ref 参数就是当前 commit 的分支,自动生成评论的时候跟 Issue 设置的相关分支比较一下就可以啦。

@Argo 那个是外部使用的api。Issue和commit的关联操作因为在不同场景下会有不同的需求,所以不会通过Issue所关联的分支去限制关联记录(包括自动生成评论)的产生,我们会确保分支被删除后自动解除任务和被删除分支的关联。

spacexzm 任务状态已确认 修改为进行中
spacexzm 修改了标题

@spacexzm_admin 好的,多谢啦。改好后告知一下,我看看效果,我这里有一些死链接

spacexzm 任务状态进行中 修改为挂起

@spacexzm_admin 有进展吗?我看又挂起了。是不是不改了?

@spacexzm_admin 有进展吗?我看又挂起了。是不是不改了?

@Argo 您好,近期有其他更重要的任务,这个暂时挂起,之后会立马解决的。
并且目前的处理也无法解决您那个问题,是为了修复通过您提的issue所发现的BUG

诺墨 添加协作者诺墨
spacexzm 任务状态挂起 修改为进行中
spacexzm 通过oschina/gitee Pull Request !8109任务状态进行中 修改为已完成

@spacexzm_admin 这个功能做好了?很赞,更新了嘛?能否查看一下 #I14DVC:仓库中创建 Issue 设置关联分支与提交 Commit 内容关联

@spacexzm_admin 这个功能做好了?很赞,更新了嘛?能否查看一下 #I14DVC:仓库中创建 Issue 设置关联分支与提交 Commit 内容关联

@Argo 已经更新了,现在仓库的分支被删除以后,会取消该分支与issue的关联,避免点击分支出现404的情况

嘻酱 关联项目设置为Gitee 运营
Yashin 任务状态已完成 修改为已上线
诺墨 将工作项从 需求 迁移到 需求(问题或诉求)
诺墨 任务类型需求 修改为需求(问题或诉求)

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(5)
554725 longbow 1578927507 58426 yashin 1578915792 4838521 spacexzm admin 1578975437 551147 normalcoder 1578927376 572581 edmondfrank 1694170170
Ruby
1
https://gitee.com/oschina/git-osc.git
git@gitee.com:oschina/git-osc.git
oschina
git-osc
Gitee Feedback

搜索帮助