Thu, 29 Mar 2012 22:16:56 +0900 tests: skip test-lfconvert.t if not support symblic link stable
Takumi IINO <trot.thunder@gmail.com> [Thu, 29 Mar 2012 22:16:56 +0900] rev 16325
tests: skip test-lfconvert.t if not support symblic link Windows not support symbolic link. but test-lfconvert.t execute 'ln -s' command. @@ -51,8 +51,6 @@ skipping incorrectly formatted tag IncorrectlyFormattedTag! skipping incorrectly formatted id invalidhash no mapping for id 0123456789abcdef - abort: renamed/copied largefile large3 becomes symlink - [255] $ cd bigfile-repo $ hg strip --no-backup 2 0 files updated, 0 files merged, 2 files removed, 0 files unresolved ERROR: test-lfconvert.t output changed
Fri, 30 Mar 2012 22:08:46 +0100 record: allow splitting of hunks by manually editing patches
A. S. Budden <abudden@gmail.com> [Fri, 30 Mar 2012 22:08:46 +0100] rev 16324
record: allow splitting of hunks by manually editing patches It is possible that unrelated changes in a file are on sequential lines. The current record extension does not allow these to be committed independently. An example use case for this is in software development for deeply embedded real-time systems. In these environments, it is not always possible to use a debugger (due to time-constraints) and hence inline UART-based printing is often used. When fixing a bug in a module, it is often convenient to add a large number of 'printf's (linked to the UART via a custom fputc) to the module in order to work out what is going wrong. printf is a very slow function (and also variadic so somewhat frowned upon by the MISRA standard) and hence it is highly undesirable to commit these lines to the repository. If only a partial fix is implemented, however, it is desirable to commit the fix without deleting all of the printf lines. This is also simplifies removal of the printf lines as once the final fix is committed, 'hg revert' does the rest. It is likely that the printf lines will be very near the actual fix, so being able to split the hunk is very useful in this case. There were two alternatives I considered for the user interface. One was to manually edit the patch, the other to allow a hunk to be split into individual lines for consideration. The latter option would require a significant refactor of the record module and is less flexible. While the former is potentially more complicated to use, this is a feature that is likely to only be used in certain exceptional cases (such as the use case proposed above) and hence I felt that the complexity would not be a considerable issue. I've also written a follow-up patch that refactors the 'prompt' code to base everything on the choices variable. This tidies up and clarifies the code a bit (removes constructs like 'if ret == 7' and removes the 'e' option from the file scope options as it's not relevant there. It's not really a necessity, so I've excluded it from this submission for now, but I can send it separately if there's a desire and it's on bitbucket (see below) in the meantime. Possible future improvements include: * Tidying up the 'prompt' code to base everything on the choices variable. This would allow entries to be removed from the prompt as currently 'e' is offered even for entire file patches, which is currently unsupported. * Allowing the entire file (or even multi-file) patch to be edited manually: this would require quite a large refactor without much benefit, so I decided to exclude it from the initial submission. * Allow the option to retry if a patch fails to apply (this is what Git does). This would require quite a bit of refactoring given the current 'hg record' implementation, so it's debatable whether it's worth it. Output is similar to existing record user interface except that an additional option ('e') exists to allow manual editing of the patch. This opens the user's configured editor with the patch. A comment is added to the bottom of the patch explaining what to do (based on Git's one). A large proportion of the changeset is test-case changes to update the options reported by record (Ynesfdaq? instead of Ynsfdaq?). Functional changes are in record.py and there are some new test cases in test-record.t.
Sat, 31 Mar 2012 15:55:03 +0900 dirstate: fix some problems for recursive case normalization (issue3342) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 31 Mar 2012 15:55:03 +0900] rev 16323
dirstate: fix some problems for recursive case normalization (issue3342) file in nested directory causes unexpected abort. problems below should be fixed for recursive normalization route in dirstate._normalize(): 1. rsplit() may cause unpacking into more than 2 elements. it should be called with 'maxsplit' argument to unpack into 'd, f' 2. 'd' is replaced by normalized value prefixed with 'self._root', but this makes 'folded' as absolute path, and it is unexpected one for caller of recursive normalization
Sat, 31 Mar 2012 10:44:31 -0500 tests: add a blacklist for VFAT on Linux stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16322
tests: add a blacklist for VFAT on Linux
Sat, 31 Mar 2012 10:44:31 -0500 tests: make test-walkrepo use hg's symlink test stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16321
tests: make test-walkrepo use hg's symlink test
Sat, 31 Mar 2012 10:44:31 -0500 tests: make hghave handle exec bit on Linux with vfat stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16320
tests: make hghave handle exec bit on Linux with vfat
Sat, 31 Mar 2012 10:44:31 -0500 tests: teach hghave to actually test for symlink support stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16319
tests: teach hghave to actually test for symlink support
Fri, 30 Mar 2012 14:35:06 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Mar 2012 14:35:06 -0500] rev 16318
merge with stable
Fri, 30 Mar 2012 14:29:50 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Mar 2012 14:29:50 -0500] rev 16317
merge with i18n
Thu, 29 Mar 2012 22:42:03 +0200 graphlog: handle old-style --rev values
Patrick Mezard <patrick@mezard.eu> [Thu, 29 Mar 2012 22:42:03 +0200] rev 16316
graphlog: handle old-style --rev values --rev options cannot be merged into a single revset because we do not know if they are valid revset or old-style revision specifications, like 'foo-bar' tags. Instead, a base revision set is generated with scmutil.revrange() then filtered with the revset built from log options. It also fixes incorrect or hostile expressions passed in --rev.
Thu, 29 Mar 2012 17:13:23 +0200 test-glog: pretty print revset expressions
Patrick Mezard <patrick@mezard.eu> [Thu, 29 Mar 2012 17:13:23 +0200] rev 16315
test-glog: pretty print revset expressions
Thu, 29 Mar 2012 16:55:08 +0200 graphlog: improve --only-branch handling
Patrick Mezard <patrick@mezard.eu> [Thu, 29 Mar 2012 16:55:08 +0200] rev 16314
graphlog: improve --only-branch handling The previous code was correct for command line as opts always contains the default empty lists for --branch and --only-branch options. But calling graphlog.revset() directly with only --only-branch set would leave it unprocessed.
Sat, 31 Mar 2012 00:04:08 +0900 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 31 Mar 2012 00:04:08 +0900] rev 16313
dirstate: avoid normalizing letter case on icasefs for exact match (issue3340) on icasefs, "hg qnew" fails to import changing letter case of filename already occurred in working directory, for example: $ hg rename a tmp $ hg rename tmp A $ hg qnew casechange $ hg status R a $ "hg qnew" invokes 'dirstate.walk()' via 'localrepository.commit()' with 'exact match' matching object having exact filenames of targets in ones 'files()'. current implementation of 'dirstate.walk()' always normalizes letter case of filenames from 'match.files()' on icasefs, even though exact matching is required. then, files only different in letter case are treated as one file. this patch prevents 'dirstate.walk()' from normalizing, if exact matching is required, even on icasefs. filenames for 'exact matching' are given not from user command line, but from dirstate walk result, manifest of changecontext, patch files or fixed list for specific system files (e.g.: '.hgtags'). in such case, case normalization should not be done, so this patch works well.
Fri, 30 Mar 2012 21:18:37 +0900 i18n-ja: synchronized with cb17c2f5b7b4 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 30 Mar 2012 21:18:37 +0900] rev 16312
i18n-ja: synchronized with cb17c2f5b7b4
Thu, 29 Mar 2012 18:14:20 -0300 i18n-pt_BR: synchronized with 795d591b6ef5 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 29 Mar 2012 18:14:20 -0300] rev 16311
i18n-pt_BR: synchronized with 795d591b6ef5
(0) -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 +30000 tip