diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -1455,20 +1455,11 @@ # testfile may be open, so we need a separate file for checking to # work around issue2543 (or testfile may get lost on Samba shares) - f1 = testfile + ".hgtmp1" - if os.path.lexists(f1): - return False - try: - posixfile(f1, 'w').close() - except IOError: - try: - os.unlink(f1) - except OSError: - pass - return False - - f2 = testfile + ".hgtmp2" + fd, f1 = tempfile.mkstemp(prefix='.%s-' % os.path.basename(testfile), + suffix='1~', dir=os.path.dirname(testfile)) + os.close(fd) fd = None + f2 = '%s2~' % f1[:-2] try: oslink(f1, f2) # nlinks() may behave differently for files on Windows shares if