Thu, 09 May 2013 15:22:21 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:22:21 -0500] rev 19167
merge with stable
Thu, 09 May 2013 15:17:29 -0500 tests: quiet strip to avoid commandserver pathsep issue stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:17:29 -0500] rev 19166
tests: quiet strip to avoid commandserver pathsep issue
Thu, 09 May 2013 15:09:36 -0500 tests: fix another Windows path issue stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:09:36 -0500] rev 19165
tests: fix another Windows path issue
Thu, 09 May 2013 15:01:11 -0500 tests: fix unionrepo path issue on msys (issue3927) stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 15:01:11 -0500] rev 19164
tests: fix unionrepo path issue on msys (issue3927)
Thu, 09 May 2013 10:51:03 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 09 May 2013 10:51:03 -0500] rev 19163
merge with stable
Thu, 09 May 2013 11:37:20 +0900 blackbox: fix literal block syntax stable
Takumi IINO <trot.thunder@gmail.com> [Thu, 09 May 2013 11:37:20 +0900] rev 19162
blackbox: fix literal block syntax
Tue, 07 May 2013 05:04:11 +0900 largefiles: check unknown files with case awareness of the filesystem stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 07 May 2013 05:04:11 +0900] rev 19161
largefiles: check unknown files with case awareness of the filesystem Before this patch, largefiles extension checks unknown files in the working directory always case sensitively. This causes failure in updating from the revision X consisting of '.hglf/A' (and "A" implicitly) to the revision Y consisting of 'a' (not ".hglf/A") on case insensitive filesystem, because "A" in the working directory is treated as colliding against and different from 'a' on the revision Y. This patch uses "repo.dirstate.normalize()" to check unknown files with case awareness of the filesystem.
Tue, 07 May 2013 05:04:11 +0900 largefiles: check existence of the file with case awareness of the filesystem stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 07 May 2013 05:04:11 +0900] rev 19160
largefiles: check existence of the file with case awareness of the filesystem Before this patch, largefiles extension always unlinks largefiles untracked on the target context in merging/updating after updating working directory. For example, it is assumed that the revision X consists of ".hglf/A" (and "A" implicitly) and revision Y consists of "a" (not ".hglf/A"). In the case of updating from X to Y, largefiles extension tries to unlink "A" after updating "a" in working directory. This causes unexpected unlinking "a" on the case insensitive filesystem. This patch checks existence of the file in the working context with case awareness of the filesystem to prevent from such unexpected unlinking. "lfcommands._updatelfile()" also unlinks target file in the case "largefile is tracked in the target context, but fails to be fetched". This patch doesn't apply "repo.dirstate.normalize()" in this case, because it should be already ensured in the manifest merging that there is no normal file colliding against any largefiles.
Tue, 07 May 2013 05:04:11 +0900 windows: check target type before actual unlinking to follow POSIX semantics stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 07 May 2013 05:04:11 +0900] rev 19159
windows: check target type before actual unlinking to follow POSIX semantics Creation and writing into target file via vfs (a.k.a opener) is done after "unlink()" target file, if it exists. For example, it is assumed that the revision X consists of file 'A', and the revision Y consists of file 'A/B'. Merging revision X into Y tries to "unlink()" on directory 'A' of 'A/B', before creation of file 'A'. On POSIX environment, directories should be removed by "rmdir(2)", and "unlink(2)" on directories fails. "unlink()" of Mercurial (and Python) uses "unlink(2)" directly, so unlinking in the merge case above would fail. In the other hand, on Windows environment, "unlink()" of Mercurial tries to rename before actual unlinking, to follow POSIX semantics: already opened file can be unlinked safely. This causes unexpected success in unlinking in the merge case above, even though directory 'A' is renamed to another. This confuses users. This patch checks whether target is directory or not before renaming, and raises IOError(errno.EPERM) if so, to follow POSIX semantics.
Thu, 09 May 2013 09:51:42 -0400 Merge with stable.
Augie Fackler <raf@durin42.com> [Thu, 09 May 2013 09:51:42 -0400] rev 19158
Merge with stable.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip