Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
heptapod
heptapod
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 111
    • Issues 111
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 3
    • Merge Requests 3
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards

This instance will be upgraded to Heptapod 0.19.0rc2 on 2021-01-18 at 11:00 UTC+1 (a few minutes of downtime)

  • heptapod
  • heptapodheptapod
  • Issues
  • #366

Closed
Open
Opened Nov 04, 2020 by Bram@Psycojoker

heptapod lacks several improvements when working with stacked topics

Summary

When stacking topics for various reason when doing multiple parallels topic aren't possible, heptapod's UI lacks lacks several improvements:

  • url displayed on "hg push" always point to the base branch, not to the directly previous topic
  • when create a MR on the web UI, the base branch is also always suggested instead of the next topic, thus creating a MR with a huge diff where it should only be the targeted commits
  • when merging a MR, its topic is deleted by default, thus, if another MR was targeting this topic it will now be broken

Steps to reproduce

Go on a project, then:

  • hg commit -m "a"
  • hg topic -r tip "a"
  • hg commit -m "b"
  • hg topic -r tip "b"
  • hg push

"hg log" will look like this:

@     19   9ad89ae3d882   draft     (branch: default)   (topic: b) "b"
|
o     17   adbffc757607   draft     (branch: default)   (topic: a) "a"
|
o     14   aecf2a0e138a   public    (branch: default)   "old commit message"
|

You will have this kind of message in cli:

pushing to https://my.heptapod.tld/orga/project
searching for changes
OBSEXC: computing relevant nodes
OBSEXC: looking for common markers in 14 nodes
OBSEXC: computing markers relevant to 2 nodes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 2 changes to 1 files
remote: 3 new obsolescence markers
remote: To create a merge request for topic/default/a, visit:
remote:   https://my.heptapod.tld/orga/project/-/merge_requests/new?merge_request%5Bsource_branch%5D=topic%2Fdefault%2Fa&merge_request%5Btarget_branch%5D=branch%2Fdefault
remote: To create a merge request for topic/default/b, visit:
remote:   https://my.heptapod.tld/orga/project/-/merge_requests/new?merge_request%5Bsource_branch%5D=topic%2Fdefault%2Fb&merge_request%5Btarget_branch%5D=branch%2Fdefault

Also try to create a MR.

What is the current bug behavior? What is the expected correct behavior?

The url to create a MR for topic "b" is:

remote: To create a merge request for topic/default/b, visit:
remote:   https://my.heptapod.tld/orga/project/-/merge_requests/new?merge_request%5Bsource_branch%5D=topic%2Fdefault%2Fb&merge_request%5Btarget_branch%5D=branch%2Fdefault

It should be:

remote: To create a merge request for topic/default/b, visit:
remote:   https://my.heptapod.tld/orga/project/-/merge_requests/new?merge_request%5Bsource_branch%5D=topic%2Fdefault%2Fb&merge_request%5Btarget_branch%5D=topic%2Fdefault%2a

Same, when creating a MR from the web UI, the default targeted branch for topic/default/b should be topic/default/a and not branch/default

Also, if the MR for topic/default/b is correctly pointing to topic/default/a and topic/default/a also have a MR, merging topic/default/a MR will delete it topic and breaks topic/default/b becaust its targeted branch doesn't exist anymore, it should have automatically be changed to branch/default

Those little frictions are making it hard for us to move to a full web ui based usage of heptapod for MRs handling instead of doing it in cli but, nevertheless, heptapod is already great and has been a great improvement for us at logilab, thx a lot :)

Edited Nov 04, 2020 by Bram
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: heptapod/heptapod#366