Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:54:29 -0500] rev 16339
tests: really add blacklist for vfat on Linux
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:35:12 -0500] rev 16338
tests: fix one more sed -i
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:34:22 -0500] rev 16337
merge stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:31:07 -0500] rev 16336
Added signature for changeset
b9bd95e61b49
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:31:04 -0500] rev 16335
Added tag 2.1.2 for changeset
b9bd95e61b49
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 14:23:55 -0500] rev 16334
tests: fix shutdown race in test-bad-pull
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 14:01:10 -0500] rev 16333
check-code: check for sed -i
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 13:59:11 -0500] rev 16332
tests: remove sed -i from test-record
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Apr 2012 18:18:48 +0900] rev 16331
tests: fix portability of sed usage in test-mq
on some platform (Mac OS X and Solaris, at least), to insert new text
line, sed function 'i' should be followed by:
- backslash('\'),
- new-line,
- text to be inserted and
- new-line
GNU sed on Linux can recognize both previous and new ones as same
modification request.
in addition to it, this patch avoids to use '-i' option for sed,
because it is not so portable, as noted in WritingTests wiki page.
Augie Fackler <durin42@gmail.com> [Sat, 31 Mar 2012 15:39:44 -0500] rev 16330
zsh completion: fix error in qfinish completions from
88a82069be4a
The actual flag is --applied, not --all.
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 14:05:10 -0500] rev 16329
merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 14:04:39 -0500] rev 16328
record: fix up test issues
sed on BSD requires an arg to -i
sed failing exposed an uninitialized variable issue
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 13:46:46 -0500] rev 16327
tests: fix portability of sed expression in test-mq
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 11:19:09 -0500] rev 16326
merge with 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
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.
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
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16322
tests: add a blacklist for VFAT on Linux
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16321
tests: make test-walkrepo use hg's symlink test
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
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16319
tests: teach hghave to actually test for symlink support
Matt Mackall <mpm@selenic.com> [Fri, 30 Mar 2012 14:35:06 -0500] rev 16318
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Mar 2012 14:29:50 -0500] rev 16317
merge with i18n
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.
Patrick Mezard <patrick@mezard.eu> [Thu, 29 Mar 2012 17:13:23 +0200] rev 16315
test-glog: pretty print revset expressions
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.
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.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 30 Mar 2012 21:18:37 +0900] rev 16312
i18n-ja: synchronized with
cb17c2f5b7b4
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 29 Mar 2012 18:14:20 -0300] rev 16311
i18n-pt_BR: synchronized with
795d591b6ef5
Takumi IINO <trot.thunder@gmail.com> [Thu, 29 Mar 2012 22:16:56 +0900] rev 16310
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