• Miaou@jlai.lu
    Aquileo | cake
    Aquileo | link
    Aquileo | fedilink
    Aquileo | arrow-up
    3
    ·
    Aquileo | edit-2
    1 day ago

    I’ve recently picked up jujutsu, and it plus gitlab’s stacked PR have made splitting up MRs a breeze. Typo in a commit at the top of the chain? “jj edit revision”, fix the typo, then “jj git push”.

        • FizzyOrange
          Aquileo | link
          Aquileo | fedilink
          Aquileo | arrow-up
          1
          ·
          15 hours ago

          Ah yeah looks like the latest 19.1 release from June.

          But it also seems to suggest it’s only a UI change. Is is possible to do stacked MRs across forks? Does it not still suffer from the flaw GitHub has (or had, hopefully) - you create one MR, myfork:feature_0 -> upstream:master. That’s fine, but then you want to create the second MR targeting the first MR, myfork:feature_1 -> ???:feature_0, only you can’t. feature_0 doesn’t exist in the upstream and there’s no point creating an MR targeting your own fork.

  • nark3d@thelemmy.club
    Aquileo | link
    Aquileo | fedilink
    Aquileo | arrow-up
    2
    ·
    2 days ago

    This looks useful for keeping a long change reviewable without leaving a branch open for a fortnight. Most of my pain with big PRs was never the size of the diff, it was that it had been diverging from main for two weeks before anyone opened it.

    The discipline doesn’t go away though, it just moves. If the bottom of the stack sits unmerged you still have a long-lived branch, with everything else stacked on top of it.

      • blackn1ght@feddit.uk
        Aquileo | link
        Aquileo | fedilink
        English
        Aquileo | arrow-up
        1
        ·
        2 days ago

        Maybe I just don’t know enough how these work, as I’ve never heard of stacked prs before.

        What does the workflow look like? Can the first PR be merged and deployed without the other prs being approved and merged first? Or do they all need to be approved and it all gets merged together?

        • Miaou@jlai.lu
          Aquileo | cake
          Aquileo | link
          Aquileo | fedilink
          Aquileo | arrow-up
          2
          ·
          1 day ago

          Assuming it’s like gitlab’s stacked PRs, all the merge requests are independent. It’s basically “just” rebasing the stack once the bottom gets merged.

    • ftp@feddit.uk
      Aquileo | link
      Aquileo | fedilink
      Aquileo | arrow-up
      6
      Aquileo | arrow-down
      2
      ·
      3 days ago

      We’re keen to use stacked PRs at work.

      We’re using agentic coding heavily, but still reviewing code to help us steer the software architecture and keep our understanding of the implementation. We generate large changes quickly, but need to break them into smaller, logically ordered PRs for review.

      It’s nice for the reviewer to be able to look ahead through the full change, so they see can check the big picture, rather than merging a couple of PRs and then spotting that the abstractions are wrong.

      PR stacks work very well for providing this kind of visibility, but are annoying to merge. After one PR in the stack is merged, the next PR needs to be rebased onto and targeted to the updated main branch. With our branch protection rules, this triggers another CI run and dismisses the PR approval, requiring human intervention.

      It would be much nicer to have the reviewer go through all the PRs and then merge the stack in one go.