Closed Bug 1209289 Opened 9 years ago Closed 8 years ago

Built-in bundleclone extension doesn't work for client.py checkouts

Categories

(Firefox Build System :: MozillaBuild, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

References

Details

Both myself and gkw ran into this bug when looking at bug 1199356. When we use the built-in bundleclone extension from bug 1177788, everything appears to work normally when using the |hg clone| command.

However, if one uses client.py, it doesn't appear to be used unless bundleclone is enabled at the user-level (~/mercurial.ini). I've confirmed that just setting |bundleclone =| in ~/mercurial.ini (without doing anything with version-control-tools or mercurial-setup) is sufficient for client.py to make use of it.

So that's interesting!
Any idea what could be going on here, Greg?
Flags: needinfo?(gps)
So there is this bug around config file reading on Windows that is getting fixed in 3.6: https://selenic.com/pipermail/mercurial-devel/2015-October/074336.html. Could it be the source of the problem?

What does `hg config` say? Is it listing bundleclone?

Also, bundleclone is not built in to Mercurial. Even if bundleclone is distributed with MozillaBuild, we still need it listed in a Mercurial config file for it to get loaded. "bundleclone=" will only work if bundleclone.py or (preferably) hgext/bundleclone.py exists and is on sys.path.
Flags: needinfo?(gps)
No change with Mercurial 3.6 and clonebundles enabled at the global level :(

$ hg clone https://hg.mozilla.org/comm-central cc
applying clone bundle from https://hg.cdn.mozilla.net/comm-central/2ef88c6fc965556e7c1a19e97b53222b47a0dc78.gzip.hg
adding changesets
adding manifests
adding file changes
added 18537 changesets with 81490 changes to 14699 files (+5 heads)
finished applying clone bundle
searching for changes
no changes found
updating to branch default
8788 files updated, 0 files merged, 0 files removed, 0 files unresolved

$ cd cc

$ python client.py checkout
Executing command: ['hg', 'pull', '-R', '.\\.']
pulling from https://hg.mozilla.org/comm-central
searching for changes
no changes found
Executing command: ['hg', 'update', '-r', 'default', '-R', '.\\.']
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Updated to revision 2ef88c6fc965556e7c1a19e97b53222b47a0dc78.
Executing command: ['hg', 'clone', 'https://hg.mozilla.org/mozilla-central/', '.\\mozilla']
requesting all changes
remote: this server supports the experimental "clone bundles" feature that should enable faster and more reliable cloning
remote: help test it by setting the "experimental.clonebundles" config flag to "true"

Once again, if I set experimental.clonebundles=true in ~/mercurial.ini instead, client.py uses it as expected.
This appears to be working correctly now with Mercurial 3.7.3. I'm guessing making clonebundles non-experimental or requiring opt-in took care of it.

$ hg clone https://hg.mozilla.org/comm-central
destination directory: comm-central
applying clone bundle from https://hg.cdn.mozilla.net/comm-central/709e8de02a1540e270af41bbb608b321e13f6a06.gzip.hg
adding changesets
adding manifests
adding file changes
added 19132 changesets with 83542 changes to 14770 files (+5 heads)
finished applying clone bundle
searching for changes
adding changesets
adding manifests
adding file changes
added 6 changesets with 17 changes to 16 files
updating to branch default
8786 files updated, 0 files merged, 0 files removed, 0 files unresolved

$ python client.py checkout
Executing command: ['hg', 'pull', '-R', '.\\.']
pulling from https://hg.mozilla.org/comm-central
searching for changes
no changes found
Executing command: ['hg', 'update', '-r', 'default', '-R', '.\\.']
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Updated to revision ccf2aef08c751b3c39cbbf81334a2eaf255a7b71.
Executing command: ['hg', 'clone', 'https://hg.mozilla.org/mozilla-central/', '.\\mozilla']
applying clone bundle from https://hg.cdn.mozilla.net/mozilla-central/a66bf0a800f3d859b4bd2ceebc57b2e3fa6544d8.gzip.hg
adding changesets
adding manifests
adding file changes
added 290646 changesets with 1653612 changes to 241609 files
finished applying clone bundle
searching for changes
adding changesets
adding manifests
adding file changes
added 79 changesets with 360 changes to 318 files
updating to branch default
136429 files updated, 0 files merged, 0 files removed, 0 files unresolved
Executing command: ['hg', 'update', '-r', 'default', '-R', '.\\mozilla']
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Updated to revision d5d53a3b4e50b94cdf85d20690526e5a00d5b63e.
Executing command: ['hg', 'clone', 'https://hg.mozilla.org/chatzilla/', '.\\mozilla\\extensions\\irc']
requesting all changes
adding changesets
adding manifests
adding file changes
added 2006 changesets with 4074 changes to 391 files (+105 heads)
updating to branch default
180 files updated, 0 files merged, 0 files removed, 0 files unresolved
Executing command: ['hg', 'update', '-r', 'default', '-R', '.\\mozilla\\extensions\\irc']
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Updated to revision d8270a9aed72a2b1cc120bee077468d092bfb4e6.
Executing command: ['hg', 'clone', 'https://hg.mozilla.org/dom-inspector/', '.\\mozilla\\extensions\\inspector']
requesting all changes
adding changesets
adding manifests
adding file changes
added 1901 changesets with 5522 changes to 784 files (+89 heads)
updating to branch default
557 files updated, 0 files merged, 0 files removed, 0 files unresolved
Executing command: ['hg', 'update', '-r', 'default', '-R', '.\\mozilla\\extensions\\inspector']
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Updated to revision 26a171aa468cadad6c0a8dd3b02e2ed4badbea13.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
Product: mozilla.org → Firefox Build System
You need to log in before you can comment on or make changes to this bug.