Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-15245

Declining a pull request and reopening it with remote Mesh nodes can lead to data loss

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Highest Highest
    • 8.9.6, 8.10.6, 8.11.5, 8.12.3, 8.13.2, 8.14.1
    • 8.0.0, 8.1.0, 8.2.0, 8.3.0, 8.4.0, 8.5.0, 8.6.0, 8.7.0, 8.8.0, 8.9.0, 8.10.0, 8.11.0, 8.12.0, 8.13.0, 8.14.0
    • Mesh
    • None

      Issue Summary

      This issue only happens on remote Mesh nodes. Bitbucket without remote Mesh nodes is unaffected.

      Declining and reopening a pull request can lead to the loss of some of the commits that are involved in the pull request in the following circumstances:

      • If a force push is performed to the "from" branch
      • If the "squash merge" or "rebase + merge" merge strategies are used
      • The pull request is declined again after commits were added to the "from" branch
      • Any other circumstance that causes a commit to not end up in the target branch when the pull request is merged

      Any commits that are merged into the target branch are not affected.

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Open a pull request
      2. Decline the pull request
      3. Wait for a "vacuum" operation on the Mesh nodes to occur (look for the log line Vacuum into shared-objects completed in XXX ms)
      4. Reopen the pull request
      5. Perform any of the actions mentioned above

      Expected Results

      All commits that were involved in a pull request remain accessible.

      Actual Results

      An error dialog is shown when the "diff" tab is clicked and comments in the pull request activity do not show code.

      Example error dialog message:

      'git merge-base XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX' exited with code 128 saying: fatal: Not a valid commit name XXXXXXXXXXXXXXXXXXXXXXXXX
      

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available.

              Unassigned Unassigned
              wkritzinger Wolfgang Kritzinger
              Votes:
              2 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: