##// END OF EJS Templates
merge: don't report progress for dr/rd actions...
merge: don't report progress for dr/rd actions It is easier to reason about certain algorithms in terms of a file->action mapping than the current action->list-of-files. Bid merge is already written this way (but with a list of actions per file), and largefiles' overridecalculateupdates() will also benefit. However, that requires us to have at most one action per file. That requirement is currently violated by 'dr' (divergent rename) and 'rd' (rename and delete) actions, which can exist for the same file as some other action. These actions are only used for displaying warnings to the user; they don't change anything in the working copy or the dirstate. In this way, they are similar to the 'k' (keep) action. However, they are even less action-like than 'k' is: 'k' at least describes what to do with the file ("do nothing"), while 'dr' and 'rd' or only annotations for files for which there may exist other, "real" actions. As a first step towards separating these acitons out, stop including them in the progress output, just like we already exclude the 'k' action.

File last commit:

r18178:6ae45c0b default
r23524:a1a7c94d default
Show More
test-symlink-os-yes-fs-no.py
45 lines | 1.2 KiB | text/x-python | PythonLexer
/ tests / test-symlink-os-yes-fs-no.py
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769 import os, sys, time
Dan Villiom Podlaski Christiansen
prevent transient leaks of file handle by using new helper functions...
r14168 from mercurial import hg, ui, commands, 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
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015 u = ui.ui()
# hide outer repo
hg.peer(u, {}, '.', create=True)
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769 # clone with symlink support
Peter Arrenbrecht
hg: add opts argument to clone for internal remoteui
r14553 hg.clone(u, {}, BUNDLEPATH, 'test0')
Martin Geisler
dirstate: ignore symlinks when fs cannot handle them (issue1888)...
r11769
repo = hg.repository(u, 'test0')
# 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
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
for f in 'test0/a.lnk', 'test0/d/b.lnk':
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
u = ui.ui()
repo = hg.repository(u, 'test0')
commands.status(u, repo)
# try cloning a repo which contains symlinks
Dov Feldstern
test symlinks on symlink-capable os but non-capable filesystem (issue1149)...
r6879 u = ui.ui()
Peter Arrenbrecht
hg: add opts argument to clone for internal remoteui
r14553 hg.clone(u, {}, BUNDLEPATH, 'test1')