5b1eac343ccd06e4397d17b805a600d3818eef93: match: add the abs() method
Matt Harbison <matt_harbison@yahoo.com> - Fri, 28 Nov 2014 20:15:46 -0500 - rev 23685
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
match: add the abs() method This is a utility to make it easier for subrepos to convert a file name to the full path rooted at the top repository. It can replace the various path joining lambdas, and doesn't require the prefix to be passed into the method that wishes to build such a path. The name is derived from the following pattern in annotate() and other places: name = ((pats and rel) or abs) The pathname separator is not os.sep in part to avoid confusion with variables named 'abs' or similar that _are_ '/' separated, and in part because some methods like cmdutils.forget() and maybe cmdutils.add() need to build a '/' separated path to the root repo. This can replace the manual path building there.
14ac0c1579cdc55763facfc81e8abffc63464c5f: merge with stable
Matt Mackall <mpm@selenic.com> - Mon, 29 Dec 2014 16:39:20 -0600 - rev 23684
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
merge with stable
5edb387158a137f7c447c9bbccfc834c833a2de8: posix: quote the specified string only when it may have to be quoted
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> - Thu, 25 Dec 2014 23:33:26 +0900 - rev 23683
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
posix: quote the specified string only when it may have to be quoted This patch makes "posix.shellquote" examine the specified string and quote it only when it may have to be quoted for safety, like as the previous patch for "windows.shellquote". In fact, on POSIX environment, quoting itself doesn't cause issues like issue4463. But (almost) equivalent quoting policy can avoid examining test result differently on POSIX and Windows (even though showing command line with "%r" causes such examination in "test-extdiff.t"). The last hunk for "test-extdiff.t" in this patch isn't needed for the previous patch for "windows.shellquote", because the code path of it is executed only "#if execbit" (= avoided on Windows).
1642eb429536cfd240705ad869a7f2e6f3d966f0: windows: quote the specified string only when it has to be quoted
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> - Thu, 25 Dec 2014 23:33:26 +0900 - rev 23682
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
windows: quote the specified string only when it has to be quoted Before this patch, "windows.shellquote" (as used as "util.shellquote") always quotes specified strings with double quotation marks, for external process invocation. But some problematic applications can't work correctly, when command line arguments are quoted: see issue4463 for detail. On the other hand, quoting itself is needed to specify arguments containing whitespaces and/or some special characters exactly. This patch makes "windows.shellquote" examine the specified string and quote it only when it may have to be quoted for safety.
9476cb62298efa8ab0cf2a0b774821c0d6322d80: extdiff: rename the name of an argument for readability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> - Thu, 25 Dec 2014 23:33:26 +0900 - rev 23681
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
extdiff: rename the name of an argument for readability To reduce amount of changes for review-ability, previous patch uses "args" as argument name of "dodiff()", even though "args" includes also the name of command to be executed (or full-path of it). This patch replaces "args" by more appropriate name "cmdline".
4075f2f8ea53abb255252373e802a876d263a454: extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> - Thu, 25 Dec 2014 23:33:26 +0900 - rev 23680
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
extdiff: avoid unexpected quoting arguments for external tools (issue4463) Before this patch, all command line arguments for external tools are quoted by the combination of "shlex.split" and "util.shellquote". But this causes some problems. - some problematic commands can't work correctly with quoted arguments For example, 'WinMerge /r ....' is OK, but 'WinMerge "/r" ....' is NG. See also below for detail about this problem. https://bitbucket.org/tortoisehg/thg/issue/3978/ - quoting itself may change semantics of arguments For example, when the environment variable CONCAT="foo bar baz': - mydiff $CONCAT => mydiff foo bar baz (taking 3 arguments) - mydiff "$CONCAT" => mydiff "foo bar baz" (taking only 1 argument) For another example, single quoting (= "util.shellquote") on POSIX environment prevents shells from expanding environment variables, tilde, and so on: - mydiff "$HOME" => mydiff /home/foobar - mydiff '$HOME' => mydiff $HOME - "shlex.split" can't handle some special characters correctly It just splits specified command line by whitespaces. For example, "echo foo;echo bar" is split into ["echo", "foo;echo", "bar"]. On the other hand, if quoting itself is omitted, users can't specify options including space characters with "--option" at runtime. The root cause of this issue is that "shlex.split + util.shellquote" combination loses whether users really want to quote each command line elements or not, even though these can be quoted arbitrarily in configurations. To resolve this problem, this patch does: - prevent configurations from being processed by "shlex.split" and "util.shellquote" only (possibly) "findexe"-ed or "findexternaltool"-ed command path is "util.shellquote", because it may contain whitespaces. - quote options specified by "--option" via command line at runtime This patch also makes "dodiff()" take only one "args" argument instead of "diffcmd" and "diffopts. It also omits applying "util.shellquote" on "args", because "args" should be already stringified in "extdiff()" and "mydiff()". The last hunk for "test-extdiff.t" replaces two whitespaces by single whitespace, because change of "' '.join()" logic causes omitting redundant whitespaces.
dd1e73c4be136d4ed5541770653f85ce8cc0245e: subrepo: add forgotten annotation for reverting git subrepos
Mathias De Maré <mathias.demare@gmail.com> - Sun, 28 Dec 2014 23:59:57 +0100 - rev 23679
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
subrepo: add forgotten annotation for reverting git subrepos Support for reverting git subrepos was added earlier, but the annotation to handle any subrepo errors was forgotten.
194d2f1850086af043b89964bbe3a03dec73a5ee: subrepo: add full revert support for git subrepos
Mathias De Maré <mathias.demare@gmail.com> - Sun, 28 Dec 2014 10:42:25 +0100 - rev 23678
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
subrepo: add full revert support for git subrepos Previously, revert was only possible if the '--no-backup' switch was specified. Now, to support backups, we explicitly go over all modified files in the subrepo.
6bc1702e73335a1d3dadcd5d19adfbb32107bc1c: setup: don't fail when Python doesn't have the cygwinccompiler package
Ludovic Chabant <ludovic@chabant.com> - Tue, 23 Dec 2014 19:54:48 -0800 - rev 23677
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
setup: don't fail when Python doesn't have the cygwinccompiler package Some Python installations like the ones available from the optware project for the Synology DiskStation NASes don't have that package, which means running the setup script will crash and exit right away. Instead, we now just use an empty/fake class for the HackedMingw32CCompiler, which we likely won't use anyway.
e8b09f920fe6b6c607b9f6a8c2416e2674578720: tests: adapt glob pattern to fix test with NetBSD's sh(1) (issue4484)
Thomas Klausner <tk@giga.or.at> - Sun, 28 Dec 2014 23:50:08 +0100 - rev 23676
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
tests: adapt glob pattern to fix test with NetBSD's sh(1) (issue4484)
96529f81e2e9fd46645472e5ecac3f361888cd9b: tests: run 'cvs init' only on non-existent directories (issue4482)
Thomas Klausner <tk@giga.or.at> - Sun, 28 Dec 2014 21:30:52 +0100 - rev 23675
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
tests: run 'cvs init' only on non-existent directories (issue4482) Do not create cvsroot directory since cvs-1.12 errors out if CVSROOT exists before 'cvs init'.
6e36b9fc78699801b16ea2c763f1483d1fa755d4: remove: use vfs instead of os.path + match.rel() for filesystem checks
Matt Harbison <matt_harbison@yahoo.com> - Thu, 25 Dec 2014 21:50:35 -0500 - rev 23674
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
remove: use vfs instead of os.path + match.rel() for filesystem checks
69cd91d04117685a265a8cb1acf2ef1a1eb156a0: forget: use vfs instead of os.path + match.rel() for filesystem checks
Matt Harbison <matt_harbison@yahoo.com> - Thu, 25 Dec 2014 21:43:45 -0500 - rev 23673
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
forget: use vfs instead of os.path + match.rel() for filesystem checks
7853e8603f4ae832400bbd74d994901bfe54fe82: tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com> - Wed, 24 Dec 2014 12:07:59 -0500 - rev 23672
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
tests: make a multi-statement hook in bundle2-exchange Windows compatible This is similar to the fix in 7dd1870120b2.
e3f30068d2ebdeb549ea0cd9fec76df2e6ef40bb: sshpeer: more thorough shell quoting stable
Matt Mackall <mpm@selenic.com> - Mon, 29 Dec 2014 14:27:02 -0600 - rev 23671
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
sshpeer: more thorough shell quoting This fixes an issue spotted by Jesse Hertz.
6721199ac78a355e35d2994ea32188add4e5290b: merge with stable
Matt Mackall <mpm@selenic.com> - Mon, 29 Dec 2014 13:10:47 -0600 - rev 23670
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
merge with stable
b65a01a4316baabe80aa3af585feaabcf0a7b537: i18n-ja: synchronized with 3b84bde06d17 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> - Mon, 29 Dec 2014 15:59:56 +0900 - rev 23669
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
i18n-ja: synchronized with 3b84bde06d17
3b84bde06d17ef14e5fdecd0e4e1305615954749: i18n-pt_BR: synchronized with 53a65929ef1f stable
Wagner Bruna <wbruna@softwareexpress.com.br> - Fri, 26 Dec 2014 17:21:08 -0200 - rev 23668
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
i18n-pt_BR: synchronized with 53a65929ef1f
f8df993516d0c0977374c1ed0d12b46e7a6a4d68: localrepo: use the vfs join method to implement the localrepo join method
Angel Ezquerra <angel.ezquerra@gmail.com> - Tue, 23 Dec 2014 19:48:38 +0100 - rev 23667
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
localrepo: use the vfs join method to implement the localrepo join method This will make it possible to customize the behavior of the join method by changing the vfs class (e.g. by using the altvfs" class introduced recently). Note that we could have modified the VFS join methods to acept a set of optional paths in the same way thta the localrepo join method does. However it seemed simpler to simply call os.path.join before calling self.vfs.join.
965788d9ae09887b688a6c6b2ffa4e170f00f1d5: localrepo: introduce shared method to check if a repository is shared
Angel Ezquerra <angel.ezquerra@gmail.com> - Sun, 21 Dec 2014 00:19:10 +0100 - rev 23666
Push 1 by gszorc@mozilla.com at Wed, 18 Mar 2015 16:34:57 +0000
localrepo: introduce shared method to check if a repository is shared Up until now we compared the "path" and "sharedpath" repository properties to check if a repository is shared. This was relying an implementation detail of shared repositories. In order to make it possible to change the way shared repositories are implemented, we encapsulate this check into its own localrepo method, called shared. This new method returns None if the repository is shared, and something else (for now a string describing the short of share) otherwise. The reason why I did not call this method "isshared" and made it return a boolean is that I plan to introduce a new type of shared repository soon. # NOTES: This is the first patch in a series whose purpose is to add support for creating "full repository shares", which are repositories that share everything with the repository source except their current revision, branch and bookmark. This series is RFC because I am not very sure of some of the solutions I took. Comments are welcome!
(0) -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +30000 tip