"Draft" status on commits (BB-9791)

Klaas van Schelven avatarKlaas van Schelven created an issue

Our commits (private repo) are showing up as drafts as of recently.

It appears to be the same issue as described here, except that none of the solutions provided there seem to work.


specifically, I tried turning "This is a non-publishing repository" on and off.

I'm not aware of using "phases".

Comments (27)

  1. NRG Admin

    We're seeing the same behavior on one of our repos:


    The commit that is currently in draft state is:


    I did the merge of the pull request same as we've always done, and now it's a "draft" with no explanation of what that means and no indication of how to make it not a draft. When I do "hg incoming" on my local repo, the "draft" merge shows as an incoming change, so I'm not sure what's really different.

  2. NRG Admin

    This looks to be a bitbucket issue, not necessarily a Mercurial issue. Working from Jesse's suggestion above, I tried to run that command, specifying the revision of the changeset explicitly. That gave me the following:

    rherrick@Aerys:~/Development/XNAT/1.6/xnat_builder_1_6dev$ hg phase --force --public -r 2306
    no phases changed

    I repeated this with the 7-character checksum, then the full 40-character checksum with the same results.

    So I tried to check the phase of the changeset that bitbucket is showing as being draft:

    rherrick@Aerys:~/Development/XNAT/1.6/xnat_builder_1_6dev$ hg phase -r 2306
    2306: public
    rherrick@Aerys:~/Development/XNAT/1.6/xnat_builder_1_6dev$ hg phase -r af53ee2
    2306: public
    rherrick@Aerys:~/Development/XNAT/1.6/xnat_builder_1_6dev$ hg phase -r af53ee218079c9720537af1c0beae315466b6460
    2306: public

    So my local repo thinks it's public, it's showing up just fine, but on bitbucket it's showing up differently:

    Draft changeset

    It was saying "Draft" before, but now it's not, it's just grayed out and weird looking. So... no idea what's going on with it.

  3. Josh Baker

    When committing from the web, the commit shows up as a draft, but it seems to clear itself up after about 15 minutes.

    NRG Admin that specific commit (af53ee2) is a merge commit, so Bitbucket will show it grayed-out since it isn't important.

  4. Joseph Kenny

    Yep, we've got the same problem. Commit pushed to bitbucket repo via CLI listed as a draft on the bitbucket commits page. But hg phase <cs> lists it as public, so I believe our repos are fine, bug in the web source browser or some such thing.

  5. Brodie Rao

    This should be fixed going forward.

    We actually had a longstanding issue where we were incorrectly marking changesets Bitbucket made (and changesets pulled through PRs) as drafts. It's only recently when we started exposing draft information that it became apparent.

    I've put out a fix that makes Bitbucket commit/merge PRs with the proper phase. As you push to your repos (or make new commits), you should see the draft commits become public.

  6. Jeff Hinrichs

    Me Too --- draft status on commits in my repo ---arrgh, via the cli no less, not using the web interface. Displaying on commit happening since Jan 31, 2014 -- just noticed it now -- I swear that was nothing about "Draft" on Friday. Feb 7.

  7. Slavita Baciuna

    We are experiencing the same problem on several of our repositories(commits marked as drafts on repositories that do not allow drafts).

    Are there any workarounds for this problem? (we tried turning "This is a non-publishing repository" on and off and it did not work)

    Do you have any information in regards to when this will be fixed?


  8. Islam El-Nabarawy

    I'm experiencing the same issue, but somehow it happened for the last series of commits and not the ones before that.

    The repository was created today and there were commits on it done by myself and a team mate, and only the last group of commits done by myself have this Draft status.



    Edit: Commits were done locally and pushed via TortoiseHG on Windows 7 64-bit, in case that's relevant.

  9. David Winter

    Experiencing the same issue. We created a new repo today and pushed a local repo which is running a really old version of Mercurial (1.2.1) that doesn't even support phases, and once pushed up to Bitbucket, the commits are marked as draft.

    Can someone from Bitbucket please comment? Will this cause issues for us? Is it just cosmetic? Or...?

  10. David Winter

    Have just noticed that the commits are now no longer appearing as draft. Looks like this happened at the same time the change to fade out merge commits was deployed. Unless I'm going mad, that happened since I last commented.

    Thanks guys! Avoids a lot of confusion for us.

  11. David Winter

    Looks like I was a bit premature in responding. It appears fixed for a repo that was broken previously, but on other repos, the issue still persists.

  12. Islam El-Nabarawy

    It seems like this issue may be triggered by pushing commits made from an older Mercurial version. I noticed that in our repository, when I pushed my commits they were marked as Draft, but when my colleague pushed her commits they weren't, and they even caused the Draft status to be removed from my earlier commits. I checked and found she was using the latest TortoiseHG with Mercurial 2.9, so I updated mine and the problem no longer happens.

    Hopefully this helps track down the issue, or at least help other people work around it.

  13. kritisen

    I noticed the same problem today.

    I tried "hg phase --force --public -r XX" and found that my Mercurial version on my local computer had not been updated in a while.

    Updated Mercurial.

    Then did a minor edit, commited, and pushed back to the repo.

    "Draft" signs are gone :)

    UPDATE: After posting, I noticed that Islam (2 comments above) found the same solution. Why does bitbucket forum not get a stackexchange kind of voting system so that best answers surface to the top?

  14. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.