# HG changeset patch # User Christian Ebert # Date 1357833728 0 # Node ID 0cdba0354b87f747b0ca5c89fbb2fc333dc6d3c6 # Parent 5ac75dd311d5e374a8e9afe19f4b97793ce75242# Parent ecb744c2a1995913900755cf7e4c4508eb628b54 Merge with stable diff -r 5ac75dd311d5 -r 0cdba0354b87 tests/hghave.py --- a/tests/hghave.py Mon Jan 07 23:30:00 2013 +0000 +++ b/tests/hghave.py Thu Jan 10 16:02:08 2013 +0000 @@ -41,6 +41,10 @@ re = r'Concurrent Versions System.*?server' return matchoutput('cvs --version 2>&1', re) and not has_msys() +def has_cvs112(): + re = r'Concurrent Versions System \(CVS\) 1.12.*?server' + return matchoutput('cvs --version 2>&1', re) and not has_msys() + def has_darcs(): return matchoutput('darcs --version', r'2\.[2-9]', True) @@ -278,6 +282,7 @@ "bzr114": (has_bzr114, "Canonical's Bazaar client >= 1.14"), "cacheable": (has_cacheable_fs, "cacheable filesystem"), "cvs": (has_cvs, "cvs client/server"), + "cvs112": (has_cvs112, "cvs client/server >= 1.12"), "darcs": (has_darcs, "darcs client"), "docutils": (has_docutils, "Docutils text processing library"), "eol-in-paths": (has_eol_in_paths, "end-of-lines in paths"), diff -r 5ac75dd311d5 -r 0cdba0354b87 tests/run-tests.py --- a/tests/run-tests.py Mon Jan 07 23:30:00 2013 +0000 +++ b/tests/run-tests.py Thu Jan 10 16:02:08 2013 +0000 @@ -356,33 +356,35 @@ def usecorrectpython(): # some tests run python interpreter. they must use same # interpreter we use or bad things will happen. - exedir, exename = os.path.split(sys.executable) - if exename in ('python', 'python.exe'): - path = findprogram(exename) - if os.path.dirname(path) == exedir: - return - else: - exename = 'python' - if sys.platform == 'win32': - exename = 'python.exe' + pyexename = sys.platform == 'win32' and 'python.exe' or 'python' if getattr(os, 'symlink', None): vlog("# Making python executable in test path a symlink to '%s'" % sys.executable) - mypython = os.path.join(BINDIR, exename) + mypython = os.path.join(BINDIR, pyexename) try: - os.symlink(sys.executable, mypython) + if os.readlink(mypython) == sys.executable: + return + os.unlink(mypython) except OSError, err: - # child processes may race, which is harmless - if err.errno != errno.EEXIST: + if err.errno != errno.ENOENT: raise + if findprogram(pyexename) != sys.executable: + try: + os.symlink(sys.executable, mypython) + except OSError, err: + # child processes may race, which is harmless + if err.errno != errno.EEXIST: + raise else: - vlog("# Modifying search path to find %s in '%s'" % (exename, exedir)) + exedir, exename = os.path.split(sys.executable) + vlog("# Modifying search path to find %s as %s in '%s'" % + (exename, pyexename, exedir)) path = os.environ['PATH'].split(os.pathsep) while exedir in path: path.remove(exedir) os.environ['PATH'] = os.pathsep.join([exedir] + path) - if not findprogram(exename): - print "WARNING: Cannot find %s in search path" % exename + if not findprogram(pyexename): + print "WARNING: Cannot find %s in search path" % pyexename def installhg(options): vlog("# Performing temporary installation of HG") diff -r 5ac75dd311d5 -r 0cdba0354b87 tests/test-keyword.t --- a/tests/test-keyword.t Mon Jan 07 23:30:00 2013 +0000 +++ b/tests/test-keyword.t Thu Jan 10 16:02:08 2013 +0000 @@ -576,6 +576,7 @@ Commit and show expansion in original and copy $ hg --debug commit -ma2c -d '1 0' -u 'User Name ' + invalid branchheads cache (unserved): tip differs c c: copy a:0045e12f6c5791aac80ca6cbfd97709a88307292 overwriting c expanding keywords @@ -746,10 +747,23 @@ Commit with multi-line message and custom expansion +|Note: +| +| After the last rollback, the "unserved" branchheads cache became invalid, but +| all changeset in the repo were public. So filtering wise: +| "mutable" == "unserved" == ΓΈ. +| +| As the "unserved" cache is invalid, we fall back to "mutable" cache. But not +| update is needed between "mutable" and "unserved" cache and the "unserved" +| cache is not updated on disk. The on disk version therefor stay invalid for +| some time. This explains why the "unserved" branchheads cache is detect +| invalid here. + $ hg --debug commit -l log -d '2 0' -u 'User Name ' - invalid branchheads cache: tip differs + invalid branchheads cache (unserved): tip differs a invalid branchheads cache: tip differs + invalid branchheads cache (unserved): tip differs overwriting a expanding keywords committed changeset 2:bb948857c743469b22bbf51f7ec8112279ca5d83 $ rm log @@ -792,7 +806,6 @@ $ hg remove a $ hg --debug commit -m rma invalid branchheads cache: tip differs - invalid branchheads cache: tip differs committed changeset 3:d14c712653769de926994cf7fbb06c8fbd68f012 $ hg status ? c @@ -903,7 +916,6 @@ [255] $ cd x $ hg --debug commit -m xa -d '3 0' -u 'User Name ' - invalid branchheads cache: tip differs x/a x/a: copy a:779c764182ce5d43e2b1eb66ce06d7b47bfe342e invalid branchheads cache: tip differs