Commit Graph

11476 Commits

Author SHA1 Message Date
Renato Cunha
9dcf925abb util.h: Utility macros for handling different Python APIs.
If we are in py3k, a IS_PY3K symbol is defined. Apart from that, byte strings
use the API defined in Python 2.6+ (_?PyBytes_.*). For Python < 2.6, the bytes
API is defined accordingly for mercurial usage (shameless copy from
bytesobject.h from Python's code). Some macros were backported from 2.6, as
inspired by rPath's pycompat.h.
2010-06-15 19:49:56 -03:00
Martin Geisler
0cbec6eadd relink: ensure deterministic directory walk in collect 2010-06-16 12:22:14 +02:00
Faheem Mitha
45dd4bd055 help: add "glossary" topic
Joint work with Vishakh Harikumar, Pradeepkumar Gayam, David Champion,
Mark Booth, timeless, Matt Mackall, Heinrik Stuart, Greg Ward, and
Martin Geisler.
2010-06-16 15:20:22 +05:30
Julian Cowley
96da4ff949 parser: fix URL to effbot 2010-06-11 01:35:38 -10:00
Eric Eisner
09e0759fc2 glog: fix crash on empty revision range 2010-06-24 21:35:52 -07:00
Mads Kiilerich
20a31caeb0 mercurial.spec: don't include convert-repo - use "hg convert" instead 2010-06-25 19:59:22 +02:00
Julian Cowley
dde4582c77 revset: remove debugging leftover 2010-06-25 01:27:25 -10:00
Gilles Moris
b51db262e6 contrib: update tcsh_completion with commands for 1.6
Added the following commands: debugbuilddag debugdag debugpushkey
debugrevspec.
2010-06-26 15:56:48 +02:00
timeless
675858ac70 relink/progress: Adding progress for collecting stage 2010-06-10 15:35:06 +02:00
timeless
6ffa07b04b relink/progress: Adding progress for pruning stage 2010-06-10 13:09:50 +02:00
Greg Ward
20b557f443 merge: when current branch has 1 or > 2 heads, actually abort.
Currently merge just prints abort-like messages to stderr and then
exits with a misleading status 0 (cleverly disguised as "False").
With this change it raises Abort, just like every other fatal error.
2010-06-14 16:06:52 -04:00
Greg Ward
727416d630 tags: remove inactive debugging code.
It was left in just in case things went wrong with the tag cache in
Mercurial 1.4, so we could easily crank up the verbosity with a
one-line change.  There have been no problems in 1.4 or 1.5, so it
should be safe to drop this now.
2010-06-15 16:10:32 -04:00
Greg Ward
2139b39f36 tags: remove the old non-caching implementation of findglobaltags().
It was left behind just in case the tag cache blew up in Mercurial
1.4, so we could easily revert to the non-caching code.  There have
been no problems with the tag cache in 1.4 or 1.5, so it should be
safe to get rid of this code now.
2010-06-15 15:02:54 -04:00
Christian Ebert
e5d231e804 keyword: postpone manifest calculation in kwtemplater.overwrite
We can check for file existence in the working directory (needed
in case of recording) by simply using the given context and
calculate the manifest only when there are in fact candidates
for expansion/shrinking.
2010-06-15 17:15:31 +02:00
Georg Brandl
072ab526a7 revset: fix call to ctx.extra() in closed() 2010-06-13 23:25:27 +02:00
Martin Geisler
6e246c45aa p4: fix long line and bad spacing around % 2010-06-15 11:05:17 +02:00
Frank Kingswood
28f1de6e41 Fix shell quoting on p4 conversion 2010-06-14 16:38:36 +01:00
Greg Ward
0f887ec58d tests: rename test-merge3 to test-add-remove.
It tests that 'hg commit' does not crash if the user removes a newly
added file, which has nothing to do with merging.
2010-06-14 13:39:00 -04:00
Martin Geisler
5bd48f2f1e check-code: reformat long lines 2010-06-15 10:01:55 +02:00
Martin Geisler
6bcf7f735a dagparser: replace format with str 2010-06-15 10:00:07 +02:00
Martin Geisler
28297c8184 check-code: catch format(), introduced in Python 2.6 2010-06-15 09:55:59 +02:00
Martin Geisler
e996783e84 commands: get rid of generic exception in debugbuilddag 2010-06-15 09:53:50 +02:00
Martin Geisler
5d9db0b74d check-code: fix check for any/all function
The old check would only detect any/all at the beginning of a line.
The regexp was probably just modeled after the preceding regexp which
(correctly) finds the 'with' keyword at the beginning of a line.

We now complain about 'any(' and 'all(' anywhere in a line, unless it
is preceded by 'def'. This allows us to define our own compatibility
wrapper in util and use 'util.any(' in the code.
2010-06-15 09:51:52 +02:00
Renato Cunha
b35e385443 hgext/zeroconf/__init__.py: Separate relative and absolute imports.
2to3 complains when relative and absolute imports are mixed, this fix just
separates them on the zeroconf extension. According to 2to3, the other modules
are fine.
2010-06-14 16:56:20 -03:00
Matt Mackall
ef2640cd30 revset: improve filter argument handling 2010-06-11 15:30:12 -05:00
Martin Geisler
96576cd383 commands: format is a Python2.6 function 2010-06-11 18:54:10 +02:00
Peter Arrenbrecht
b9ce7f49a5 debugbuilddag: build a changelog dag from a concise description
Useful in tests to quickly build a complex DAG in an empty repo.
Handles local tags and named branches.
Options to, at each rev,
 - create a new file,
 - overwrite the same file,
 - append to the same file,
 - write to a specific line in a mergeable file.
Can run shell commands during DAG buildup.
2010-06-10 11:49:48 +02:00
Peter Arrenbrecht
a9d00c7c41 debugdag and debugindexdag: emit changelog/revlog DAGs as concise text
Mainly useful for reusing DAGs somewhere else, for example for attaching
them to a bug report, or for importing them into other environments
(like my test environment for incoming/outgoing discovery).
2010-06-10 11:48:45 +02:00
Peter Arrenbrecht
b2bbef20ef dagparser: parses and formats DAGs as concise text
As discussed during the sprint. See the doc comment and doctests
for specification and examples. This is used in subsequent patches
to export revlog and changelog DAGs, and to generate a repo with
a given changelog DAG.
2010-06-10 11:48:15 +02:00
Matt Mackall
fce0ca4afe tests: fix up webraw encoding 2010-06-10 15:30:15 -05:00
Matt Mackall
251885d01b strip: backup bundles should use the .hg extension 2010-06-10 15:23:31 -05:00
Julian Cowley
3dc90b2c5b hgweb: specify a charset when sending raw text files
Gets the charset from encoding.encoding parameter.
2010-06-09 12:41:44 -10:00
Matt Mackall
1cf1295d6e summary: report copies and renames 2010-06-09 16:39:25 -05:00
Chad Dombrova
22bbfbd44a provide pre- and post- hooks with parsed command line arguments.
python hooks are passed two new keyword arguments:
- opts: a dict of options; unsepcified options are set to their default
- pats: a list of arguments

shell hooks receive two new variables containing string representations
of the above data:
- $HG_OPTS
- $HG_PATS

for example, the opts and pats for 'hg -f v1.1' would be:
{'force': True, 'message': '', 'rev': '', 'user': '', 'date': '', 'local': None, 'remove': None, 'mq': None}
['v1.1']
2010-06-10 09:32:19 -07:00
Peter Arrenbrecht
81620f34fb revset: add some tests 2010-06-08 17:56:57 +02:00
Dan Villiom Podlaski Christiansen
e64c6d6314 pager: set ui.formatted() prior to redirecting stdout. 2010-06-07 15:34:48 +02:00
Dan Villiom Podlaski Christiansen
de6e2d6afa mq: use ui.formatted() instead of ui.plain(). 2010-06-07 15:33:03 +02:00
Dan Villiom Podlaski Christiansen
eb569c8b47 color: use ui.formatted(). 2010-06-07 15:28:54 +02:00
Dan Villiom Podlaski Christiansen
6d2a041cb0 ui: document the formatted(), interactive() & plain() functions. 2010-06-07 16:14:12 +02:00
Dan Villiom Podlaski Christiansen
a15c6a0d68 ui: add ui.formatted configuration variable and accessor function.
This new configuration variable is similar in nature `ui.interactive',
but applying to output instead of input. This allows as to support
non-interactive sessions where formatted should be enabled, such as
when using the pager extension.

The variable itself is left undocumented; it is not intended for use
outside Mercurial and its extensions.
2010-06-07 14:59:52 +02:00
Martin Geisler
74ffb9edd7 revlog: fix inconsistent comment formatting 2010-06-10 17:10:05 +02:00
Sune Foldager
4e663d3541 improve --branch processing (and differentiate from # syntax)
Previously #foo and --branch foo were handled identically.
The behavior of #foo hasn't changed, but --branch now works like this:

1) If branchmap is not supported on the remote, the operation fails.
2) If branch is '.', substitute with branch of the working dir parent.
3) If branch exists remotely, its heads are expanded.
4) Otherwise, the operation fails.

Tests have been added for the new cases.
2010-06-10 12:46:09 +02:00
FUJIWARA Katsunori
ce06b102df help: show value requirement and multiple occurrence of options
this helps users to know what kind of option is:

  - no value is required(flag option)
  - value is required
  - value is required, and multiple occurrences are allowed

each kinds are shown as below:

 -f --force              force push
 -e --ssh CMD            specify ssh command to use
 -b --branch BRANCH [+]  a specific branch you would like to push

if one or more 3rd type options are shown, explanation for '[+]' mark
is also shown as footnote.
2010-06-06 17:25:00 +09:00
Christian Ebert
6241cdaae9 keyword: pass context to kwtemplater.overwrite
Now that we have retrieved the context in every calling function
except commit, pass it as argument to kwtemplater.overwrite to
avoid looking it up twice.

Reorder arguments to kwtemplater.overwrite to reflect their
importance.

Turn node argument into a simple boolean and rename it to iswctx.
2010-06-09 12:45:48 +01:00
Peter Arrenbrecht
e4f22f6bc6 parser: fix missing param in _match 2010-06-08 16:27:59 +02:00
Gilles Moris
d96dd72840 commit: add tests for the 'created new head' message 2010-06-08 22:30:44 +02:00
Gilles Moris
54d30f05ab commit: fix display of 'created new head' message (issue2186)
To avoid recurrent fixes for the display of this message, a summary table with
all case combinations has been added to the code.
Basically, there is two condition for the message to be printed:
* this is not an initial (named branch or topo) root
* none of the parents are in the current branch heads
2010-06-08 22:28:42 +02:00
Stefano Tortarolo
28423089a9 rebase: --abort doesn't strip away the target changeset (issue2220)
When a changeset is skipped, rebase keeps the previous target as next
target and if the skipped cset is the first one, the recorded target is
actually the original target.
--abort did not detect this situation but simply stripped away the cset.
2010-06-08 18:01:07 +02:00
Jan Sorensen
b851482b84 test-branch-option: Updated output to match rev c00f45d9192e 2010-06-09 17:22:59 +02:00
Martin Geisler
0af2030d7c Merge with mpm 2010-06-09 17:50:45 +02:00