Commit Graph

16458 Commits

Author SHA1 Message Date
Matt Mackall
9aa1e49c7c tests: make test-walkrepo use hg's symlink test 2012-03-31 10:44:31 -05:00
Matt Mackall
199e84020f tests: make hghave handle exec bit on Linux with vfat 2012-03-31 10:44:31 -05:00
Matt Mackall
0d1f9340f4 tests: teach hghave to actually test for symlink support 2012-03-31 10:44:31 -05:00
Matt Mackall
c9532589d2 merge with i18n 2012-03-30 14:29:50 -05:00
FUJIWARA Katsunori
dba1f40821 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.
2012-03-31 00:04:08 +09:00
FUJIWARA Katsunori
26cf91b0ae i18n-ja: synchronized with 0a0f0575159c 2012-03-30 21:18:37 +09:00
Wagner Bruna
e64a0c6479 i18n-pt_BR: synchronized with 1b98103e9cde 2012-03-29 18:14:20 -03:00
Mads Kiilerich
08bbe3eb2b mq: fix qpush --move with comments in series file between applied patches
The 'start' variable pointed to qtip in self.series, but it was used for
indexing self.fullseries.

When fullseries had holes and the patch was moved to self.fullseries[start]
it would end up too early in self.series and it could thus not be
found in self.series[start:] and it would crash.

Now the 'fullstart' index in fullseries is found used instead.
2012-03-29 00:35:00 +02:00
Matt Mackall
b7a9e07a8c dirstate: normalize case of directory components
If we have an existing f/a, and rename f to F, adding F/b should be
normalized to f/b.
2012-03-28 19:24:13 -05:00
Matt Mackall
76e8b41818 tests: fix startup race in test-http-proxy 2012-03-28 19:24:11 -05:00
Matt Mackall
18bf05f2aa tests: fix startup/shutdown races in test-https
tinyproxy now writes its own pid when it's ready to accept connections
2012-03-28 19:23:25 -05:00
Matt Mackall
41dc46b131 tests: remove sleep/startup/shutdown races from test-hup 2012-03-28 12:02:38 -05:00
Matt Mackall
7d38a1dbb4 tests: fix shutdown race in test-hgweb-raw 2012-03-28 11:28:37 -05:00
Matt Mackall
0c6d0f05a2 tests: eliminate shutdown race and sleeps in test-serve 2012-03-28 10:29:39 -05:00
Matt Mackall
3851075bbd tests: eliminate daemon race in test-bad-pull 2012-03-28 10:11:12 -05:00
Matt Mackall
3eb6e77c5e alias: abort on missing positional args (issue3331) 2012-03-27 16:13:59 -05:00
Angel Ezquerra
5aafeb5916 fileset: add "subrepo" fileset symbol
This new fileset symbol returns a list of subrepos whose paths match a given
pattern. If the argument has no pattern type set, an exact
match is performed.

If no argument is passed, return a list of all subrepos.
2012-03-22 21:12:15 +01:00
Steven Stallion
3ad03bc654 plan9: finalize documentation for next release 2012-04-15 23:47:46 -07:00
Alain Leufroy
10dafa190b localrepo: do not complain about missing journal files 2012-04-16 10:56:37 +02:00
Alain Leufroy
01eed330fd repair: fix missing import
introduced by: 1792c24f759cbee608767738104810158188a0e4
2012-04-16 10:33:18 +02:00
Na'Tosha Bard
26cdea9a9e largefiles: fix cat for largefiles (issue3352)
This is a fix to largefiles so that 'hg cat' will work correctly when a
largefile is specified.

As per discussion on Issue 3352:

1) The file will be printed regardless if it is binary or large.
2) The file is downloaded if it is not readily available (not found in
   the system cache), so that it can be printed.  If the download fails,
   then we abort.
2012-04-16 17:03:39 +02:00
Steven Stallion
379dfc3a8c pure: quiesce build warnings
The following patch fixes the following warning when building pure:
package init file 'mercurial/pure/__init__.py' not found (or not a regular file)
2012-04-16 08:50:40 -07:00
Matt Mackall
0fa9895915 util.h: replace ntohl/htonl with get/putbe32 2012-04-16 11:26:00 -05:00
Wolfgang Treutterer
00e7333b1b scmutil: fix systemrcpath regression introduced in ebc9c501f13c
Changeset ebc9c501f13c introduced a 'root' path component to look for
hgrc files, which is used both as an absolute path and a path relative
to the <install-root>.
The latter one was broken since 'root' was set to an absolute location
and the subsequent os.path.join discarded the <install-root> path prefix.
2012-04-13 10:08:08 +02:00
Patrick Mezard
e9454c243f revlog: fix partial revision() docstring (from f4a6c9197dbd) 2012-04-13 10:14:59 +02:00
Patrick Mezard
aa91736f8f graphlog: fix --follow FILE and relative paths
The situation is complicated because filelog() revset uses a match object in
relpath mode while follow() revset interprets the filename as a manifest entry.
2012-04-14 11:27:11 +02:00
Patrick Mezard
97d474a24b graphlog: reduce duplication in --follow code 2012-04-14 11:16:57 +02:00
Patrick Mezard
a0e9bb4632 graphlog: add all log options to glog command
glog and log -G should be equivalent.
2012-04-14 10:44:13 +02:00
Patrick Mezard
923d3cc5c3 graphlog: implement --hidden 2012-04-14 10:30:38 +02:00
Angel Ezquerra
5089e1299f revert: add support for reverting subrepos without --no-backup and/or --all
When a subrepo is reverted but --no-backup is not set, call revert on the
subrepo that is being reverted prior to updating it to the revision specified
in the parent repo's .hgsubstate file.

The --all flag is passed down to the subrepo when it is being reverted. If the
--all flag is not set, all files that are modified on the subrepo will be
reverted.
2012-03-28 11:42:17 +02:00
Angel Ezquerra
3e2b4220e7 revert: add support for reverting subrepos
Reverting a subrepo is done by updating it to the revision that is selected on
the parent repo .hgsubstate file.

* ISSUES/TODO:

- reverting added and removed subrepos is not supported yet.
- reverting subrepos is only supported if the --no-backup flag is used (this
limitation will be removed on another patch).
- The behavior of the --all flag has been changed. It now reverts subrepos as
well. Note that this may lead to data loss if the user has a dirty subrepo.
2012-03-28 11:42:17 +02:00
Matt Mackall
4ca25d50f9 merge with stable 2012-04-14 01:39:35 -05:00
Bryan O'Sullivan
9b32b66805 commands: move bundle type validation earlier
Checking the bundle type late in the command's execution can mean
that we do work for a long time before complaining about incorrect
user input and aborting.  Guess how I discovered this.
2012-04-13 11:01:07 -07:00
Matt Mackall
e80599976d changegroupsubset: optimize function lookup in prune 2012-04-13 22:55:46 -05:00
Matt Mackall
736fde9c03 changegroup: optimize gennodelist 2012-04-13 22:55:46 -05:00
Matt Mackall
a6546db90e revlog: drop some unneeded rev.node calls in revdiff 2012-04-13 22:55:46 -05:00
Bryan O'Sullivan
62554752c6 revlog: avoid an expensive string copy
This showed up in a statprof profile of "hg svn rebuildmeta", which
is read-intensive on the changelog.  This two-line patch improved
the performance of that command by 10%.
2012-04-12 20:26:33 -07:00
Matt Mackall
2bbef572af changegroupsubset: avoid setdefault in inner loop 2012-04-13 22:55:46 -05:00
Matt Mackall
03f2c727d0 changegroupsubset: drop repeated len() calls 2012-04-13 22:55:40 -05:00
Matt Mackall
5f0c1a6b8d changegroup: reduce progress overhead 2012-04-13 22:27:29 -05:00
Matt Mackall
4a60e2504d changegroupsubset: renest inner loop
The mdata list should generally be shorter than changedfiles
2012-04-13 22:23:45 -05:00
Matt Mackall
4e0b41f193 revlog: increase readahead size 2012-04-13 21:35:48 -05:00
Matt Mackall
265f182101 revset: avoid demandimport bug
Apparently the "import x as xy" doesn't manage to update xy in the
current scope's dictionary after load, which causes nodemod.nullrev to do a huge amount of demandload magic in the inner loop.
2012-04-13 15:32:49 -05:00
Matt Mackall
af300e88ec merge with stable 2012-04-12 20:52:39 -05:00
Bryan O'Sullivan
dc46676e81 parsers: use base-16 trie for faster node->rev mapping
This greatly speeds up node->rev lookups, with results that are
often user-perceptible: for instance, "hg --time log" of the node
associated with rev 1000 on a linux-2.6 repo improves from 0.3
seconds to 0.03.  I have not found any instances of slowdowns.

The new perfnodelookup command in contrib/perf.py demonstrates the
speedup more dramatically, since it performs no I/O.  For a single
lookup, the new code is about 40x faster.

These changes also prepare the ground for the possibility of further
improving the performance of prefix-based node lookups.
2012-04-12 14:05:59 -07:00
Matt Mackall
05bbeed32b check-code: avoid false-positive on ++ 2012-04-12 20:22:18 -05:00
Patrick Mezard
38b5c1448f graphlog: cleanup before code move
- Avoid revset module aliasing
- Mark makefilematcher() private
2012-04-11 11:37:13 +02:00
Patrick Mezard
00224d1ac6 graphlog: correctly handle calls in subdirectories 2012-04-11 11:32:00 +02:00
Patrick Mezard
82044cab98 context: revert workingctx.ancestors() followfirst option
It was introduced by mistake in df40a7c0d6aa.
2012-04-11 11:29:12 +02:00
Patrick Mezard
a07861a2e3 graphlog: fix --follow-first --rev combinations
This solves a similar problem than the previous --follow/--rev patch. This time
we need changelog.ancestors()/descendants() filtering on first parent.
Duplicating the code looked better than introducing keyword arguments. Besides,
the ancestors() version was already implemented in follow() revset.
2012-04-11 11:25:34 +02:00