##// END OF EJS Templates
exchange: move disabling of rev-branch-cache bundle part out of narrow...
exchange: move disabling of rev-branch-cache bundle part out of narrow I'm attempting to refactor changegroup code in order to better support alternate storage backends. The narrow extension is performing a lot of monkeypatching to this code and it is making it difficult to reason about how everything works. I'm reasonably certain I would be unable to abstract storage without requiring extensive rework of narrow. I believe it is less effort to move narrow code into core so it can be accounted for when changegroup code is refactored. So I'll be doing that. The first part of this is integrating the disabling of the cache:rev-branch-cache bundle2 part into core. This doesn't seem like it is related to changegroup, but narrow's modifications to changegroup are invasive and also require taking its code for bundle generation and exchange into core in order for the changegroup code to work. Differential Revision: https://phab.mercurial-scm.org/D4007

File last commit:

r37954:630429dc default
r38813:ab765bc4 default
Show More
test-symlink-os-yes-fs-no.py
61 lines | 1.5 KiB | text/x-python | PythonLexer
/ tests / test-symlink-os-yes-fs-no.py
Pulkit Goyal
tests: make test-symlink-os-yes-fs-no use absolute_import
r28916 from __future__ import absolute_import
import os
import sys
import time
from mercurial import (
commands,
hg,
Augie Fackler
tests: port test-symlink-os-yes-fs-no.py to Python 3...
r37954 pycompat,
Pulkit Goyal
tests: make test-symlink-os-yes-fs-no use absolute_import
r28916 ui as uimod,
util,
)
Dov Feldstern
test symlinks on symlink-capable os but non-capable filesystem (issue1149)...
r6879
TESTDIR = os.environ["TESTDIR"]
Nicolas Dumazet
tests: move test bundles in a bundles/ subdirectory
r14116 BUNDLEPATH = os.path.join(TESTDIR, 'bundles', 'test-no-symlinks.hg')
Dov Feldstern
test symlinks on symlink-capable os but non-capable filesystem (issue1149)...
r6879
# only makes sense to test on os which supports symlinks
Augie Fackler
tests: use getattr instead of hasattr
r14971 if not getattr(os, "symlink", False):
Dov Feldstern
test symlinks on symlink-capable os but non-capable filesystem (issue1149)...
r6879 sys.exit(80) # SKIPPED_STATUS defined in run-tests.py
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015 # hide outer repo
Augie Fackler
tests: port test-symlink-os-yes-fs-no.py to Python 3...
r37954 hg.peer(u, {}, b'.', create=True)
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015
Gregory Szorc
tests: use unbundle in test-symlink-os-yes-fs-no.py...
r37449 # unbundle with symlink support
Augie Fackler
tests: port test-symlink-os-yes-fs-no.py to Python 3...
r37954 hg.peer(u, {}, b'test0', create=True)
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769
Augie Fackler
tests: port test-symlink-os-yes-fs-no.py to Python 3...
r37954 repo = hg.repository(u, b'test0')
commands.unbundle(u, repo, pycompat.fsencode(BUNDLEPATH), update=True)
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769
# wait a bit, or the status call wont update the dirstate
time.sleep(1)
commands.status(u, repo)
# now disable symlink support -- this is what os.symlink would do on a
# non-symlink file system
Dov Feldstern
test symlinks on symlink-capable os but non-capable filesystem (issue1149)...
r6879 def symlink_failure(src, dst):
Augie Fackler
test-symlink-os-yes-fs-no.py: clean up use of two-argument raise...
r18178 raise OSError(1, "Operation not permitted")
Dov Feldstern
test symlinks on symlink-capable os but non-capable filesystem (issue1149)...
r6879 os.symlink = symlink_failure
Mads Kiilerich
posix: give checklink a fast path that cache the check file and is read only...
r30448 def islink_failure(path):
return False
os.path.islink = islink_failure
Dov Feldstern
test symlinks on symlink-capable os but non-capable filesystem (issue1149)...
r6879
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769 # dereference links as if a Samba server has exported this to a
# Windows client
Augie Fackler
tests: port test-symlink-os-yes-fs-no.py to Python 3...
r37954 for f in b'test0/a.lnk', b'test0/d/b.lnk':
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769 os.unlink(f)
fp = open(f, 'wb')
Dan Villiom Podlaski Christiansen
prevent transient leaks of file handle by using new helper functions...
r14168 fp.write(util.readfile(f[:-4]))
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769 fp.close()
# reload repository
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Augie Fackler
tests: port test-symlink-os-yes-fs-no.py to Python 3...
r37954 repo = hg.repository(u, b'test0')
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769 commands.status(u, repo)
Gregory Szorc
tests: use unbundle in test-symlink-os-yes-fs-no.py...
r37449 # try unbundling a repo which contains symlinks
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Gregory Szorc
tests: use unbundle in test-symlink-os-yes-fs-no.py...
r37449
Augie Fackler
tests: port test-symlink-os-yes-fs-no.py to Python 3...
r37954 repo = hg.repository(u, b'test1', create=True)
commands.unbundle(u, repo, pycompat.fsencode(BUNDLEPATH), update=True)