[Bug 6845] New: streaming clonebundle publishes draft changesets

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Tue Oct 10 12:37:55 UTC 2023


https://bz.mercurial-scm.org/show_bug.cgi?id=6845

            Bug ID: 6845
           Summary: streaming clonebundle publishes draft changesets
           Product: Mercurial
           Version: stable branch
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: clonebundles
          Assignee: bugzilla at mercurial-scm.org
          Reporter: mathias.demare at gmail.com
                CC: mercurial-devel at mercurial-scm.org
    Python Version: ---

I see it on 6.5.1, but it's also on stable (and I expect on default as well).

Running on the mercurial-devel repository itself:
./hg bundle --all --type "none-streamv2;obsolescence=true;phases=true"
foo.bundle
./hg init someclone
./hg -R someclone unbundle foo.bundle
./hg -R someclone log -G #<-- everything became public

Digging a bit further in the code, I see 'unbundlepart' instances being called.
In order:
1. streamv2
2. obsmarkers
3. phase-heads

The phase-heads unbundlepart tries to call 'phases.updatephases', but in
'advanceboundary', the filter for revs that can have their phase changed, comes
up empty: revs = [rev for rev in revs if self.phase(repo, rev) >= phase]

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list