Matt Mackall
fcb44e87db
commit: move explicit file checking into repo.commit
2009-06-01 21:51:00 -05:00
Matt Mackall
7c83f8b030
commit: editor reads file lists from provided context
2009-06-01 14:51:47 -05:00
Matt Mackall
37eaadf540
match: ignore return of match.bad
...
All users returned false, return can now be dropped
2009-05-31 17:54:18 -05:00
Matt Mackall
a30eb02911
cmdutils: Take over glob expansion duties from util
2009-05-24 16:38:29 -05:00
Matt Mackall
b287cf72fe
match: refactor patkind
...
add patkind(pat) to match
change external users
change util.patkind to _patsplit
2009-05-24 02:56:14 -05:00
Patrick Mezard
e8790c2140
serve: add and use portable spawnvp replacement
...
There is no standard python command to really detach a process under Windows.
Instead we use the low level API wrapped by subprocess module with all
necessary options to avoid any kind of context inheritance. Unfortunately, this
version still opens a new window for the child process.
The following have been tried:
- os.spawnv(os.P_NOWAIT): works but the child process is killed when parent
console terminates.
- os.spawnv(os.P_DETACH): works on python25, hang on python26 when writing to
the hgweb output socket.
- subprocess.CreateProcess() hack without shell mode: similar to
os.spawnv(os.P_DETACH).
Fix 1/3 for issue421
2009-04-10 21:20:25 +02:00
Robert Bachmann
ef03cfb55c
Bugfix and test for hg log XML output
2009-12-30 02:41:19 +01:00
Robert Bachmann
93bde9a865
Added support for templatevar "footer" to cmdutil.py
2009-12-28 17:55:52 +01:00
Nicolas Dumazet
4c31093b61
cmdutil: replace sys.maxint with None as default value in loglimit
...
Semantically, it is better to use None over any other value when there is
"no value". Using maxint in this context is quite hackish, and is not forward
compatible.
2009-12-14 00:32:29 +09:00
Patrick Mezard
f32df1c921
Make {file_copies} usable as a --template key
...
Before this, to display file copies in templates, you had to write something
like {file_copies%filecopy}. For some reason, the {file_copy} subtemplate was
used by default but not defined by default in changeset_templater, while styles
were already using it. Here we define {file_copy} in changeset_templater, and
change the templater to handle formatting strings like {file_copies%filecopy}
with already expanded keys (in this case {file_copies}), for backward
compatibility.
2009-12-13 18:06:24 +01:00
Patrick Mezard
46b592cdfa
templatekw: change {file_copies} behaviour, add {file_copies_switch}
...
{file_copies} template now displays file copies with or without the --copies
switch being set. A new {file_copies_switch} template implements the former
behaviour.
2009-12-13 18:06:24 +01:00
Patrick Mezard
f11c571560
cmdutil: extract file copies closure into templatekw
2009-12-13 18:06:24 +01:00
Patrick Mezard
a8e64bad12
cmdutil: extract latest tags closures in templatekw
2009-12-13 18:06:24 +01:00
Patrick Mezard
0ea61cf043
cmdutil: extract file changes closures into templatekw
2009-12-13 18:06:24 +01:00
Patrick Mezard
da27222189
cmdutil: extract repo dependent closures in templatekw
2009-12-13 18:06:23 +01:00
Patrick Mezard
434744ad77
cmdutil: extract ctx dependent closures into templatekw
2009-12-13 18:06:23 +01:00
Patrick Mezard
9de17a2612
cmdutil: replace showlist() closure with a function
2009-12-13 18:06:23 +01:00
Dirkjan Ochtman
9aac0ec2b7
merge with the stable branch
2009-12-10 12:31:57 +01:00
Benoit Boissinot
2c87a7558e
log --follow: use a set instead of a list
...
benchmarked with hg log -qf on the linux kernel:
before:
Time: real 39.010 secs (user 38.840+0.000 sys 0.060+0.000)
after:
Time: real 8.560 secs (user 8.440+0.000 sys 0.080+0.000)
2009-12-10 00:14:22 +01:00
Nicolas Dumazet
414130944c
cmdutil: service: add appendpid parameter to append pids to pid file
2009-12-01 11:28:31 +09:00
Benoit Boissinot
da51217b4d
backout experimental change from 67851ac42937
2009-12-01 01:43:46 +01:00
Matt Mackall
184d53a4f9
Merge with crew
2009-11-30 15:31:14 -06:00
Patrick Mezard
dee4f69d0f
cmdutil: fix missing default 'extra' template
2009-11-30 22:23:09 +01:00
Nicolas Dumazet
668d6309cd
run-tests: add --inotify option to test runner
...
Activate inotify extension when running tests.
2009-11-17 18:50:39 +09:00
Benoit Boissinot
f181483f31
findrenames: improve coding-style
2009-11-24 20:40:04 +01:00
Benoit Boissinot
22b5fe48a3
findrenames: speedup exact match
...
benchmarked on crew repo with:
rm -rf * ; hg up -C ; for i in `find . -name "*.py"` ; do mv $i $i.new;done
followed by:
hg addremove -s 100
before: Time: real 28.890 secs (user 26.920+0.000 sys 1.450+0.000)
after : Time: real 6.790 secs (user 5.310+0.000 sys 1.350+0.000)
2009-11-24 18:21:47 +01:00
Benoit Boissinot
c6fb6e4c64
findrenames: refactor the score computation
2009-11-24 17:39:42 +01:00
Benoit Boissinot
ee278104a8
findrenames: first loop over the removed files, it's faster
...
Getting the file from the working dir is less expensive than getting it from
the repo history, hence the speedup.
benchmarked on crew repo with:
rm -rf * ; hg up -C ; for i in `find . -name "*.py"` ; do mv $i $i.new;done
followed by:
hg addremove -s 100
before: Time: real 68.760 secs (user 65.760+0.000 sys 2.490+0.000)
after : Time: real 28.890 secs (user 26.920+0.000 sys 1.450+0.000)
2009-11-24 17:26:42 +01:00
Martin Geisler
6355b4950b
cmdutil: mark string for translation
2009-05-20 12:20:27 +02:00
Matt Mackall
16d4ef56bc
commit: explain how to abort commit in editor
2009-05-18 17:36:24 -05:00
Benoit Boissinot
bee6cb3d55
addremove/findrenames: find renames according to the match object (issue1527)
...
Instead of only finding similarities in the added/removed files found
by the addremove step, follow the match object:
hg addremove -s80 foo -> add and removes files in foo
+ find similarities between files in foo
hg addremove -s80 -> add and removes files in the whole repo
+ find similarities between files in the whole repo
hg import --similarity will still work correctly (only find similarities
between files found in the patch).
2009-05-17 22:51:17 +02:00
Benoit Boissinot
6f0577d081
addremove: mapping isn't really needed, simplify
2009-05-17 22:40:04 +02:00
Matt Mackall
5534a9c3e3
editor: move HG: filtering from ui to commiteditor
2009-05-14 13:21:17 -05:00
Matt Mackall
ebe3b0ebc3
commit: move commit editor to cmdutil, pass as function
2009-05-14 13:20:40 -05:00
Peter Arrenbrecht
a75765cf7f
drop unused imports
2009-05-14 15:35:46 +02:00
Martin Geisler
4d0bbe44ba
cmdutil: replace pseudo-set by real set
2009-05-12 01:08:28 +02:00
Dirkjan Ochtman
5c6c43b746
templater: provide the standard template filters by default
2009-05-12 12:04:05 +02:00
Simon Heimberg
09ac1e6c92
separate import lines from mercurial and general python modules
2009-04-28 17:40:46 +02:00
Martin Geisler
750183bdad
updated license to be explicit about GPL version 2
2009-04-26 01:08:54 +02:00
Matt Mackall
f6c8930392
replace various uses of list.reverse()
2009-04-26 16:50:44 -05:00
Matt Mackall
2f9b02c62d
replace util.sort with sorted built-in
...
This is marginally faster for small and moderately-sized lists
2009-04-26 16:50:44 -05:00
Matt Mackall
88b13fecec
ui: replace parentui mechanism with repo.baseui
2009-04-26 16:50:43 -05:00
Matt Mackall
6708d0e299
add cmdutil.remoteui
...
remoteui sorts out the issues of getting ssh config options from the
local repo into the remote one while not copying other options like hooks.
2009-04-26 16:50:43 -05:00
Martin Geisler
e2222d3c43
replace set-like dictionaries with real sets
...
Many of the dictionaries created by dict.fromkeys were emulating sets.
These can now be replaced with real sets.
2009-04-22 00:57:28 +02:00
Martin Geisler
85e0e5f5fa
cmdutil: return boolean result directly in want function
2009-04-22 17:15:59 +02:00
Martin Geisler
80dd126e92
remove unnecessary outer parenthesis in if-statements
2009-04-22 01:39:47 +02:00
Dirkjan Ochtman
10e214223e
cmdutil: prevent code repetition by abstraction in changeset_templater
2009-04-06 10:51:27 +02:00
Dirkjan Ochtman
7856ee8225
cmdutil: refactor handling of templating in show_changeset()
2009-04-04 17:55:52 +02:00
Matt Mackall
642f4d7151
move encoding bits from util to encoding
...
In addition to cleaning up util, this gets rid of some circular dependencies.
2009-04-03 14:51:48 -05:00
Martin Geisler
05b3dfb2cf
cmdutil: fix untranslatable string in copy
2009-03-27 17:35:00 +01:00
Alexander Solovyov
475ce753d3
templater: ability to display diffstat for log-like commands
2009-03-23 10:41:42 +01:00
Alexander Solovyov
7ea3611901
templater: use contexts consistently throughout changeset_templater
2009-03-23 13:15:57 +01:00
timeless
26d95caa99
help: miscellaneous language fixes
2009-02-28 12:38:45 +01:00
Matt Mackall
ca1b896eac
log: ignore --removed if no files specified (issue1166)
...
Otherwise we filter out merge changesets with no changed files
2009-02-16 17:37:23 -06:00
Jim Correia
78e5b53d7d
add --git option to commands supporting --patch (log, incoming, history, tip)
...
No short -g form, since it would conflict with -g from the graphlog extension.
2009-02-14 22:40:39 +01:00
Alexander Solovyov
18946af340
cmdutil.logmessage: options should be optional
2009-01-19 12:38:54 +02:00
Matt Mackall
e61d364b61
error: move UnknownCommand and AmbiguousCommand
2009-01-12 11:39:38 -06:00
Brendan Cully
99c25ba716
Improved error message for log --follow
...
Mads Kiilerich notes that the existing message was unclear
when a nonexistent file was supplied.
2008-11-24 17:16:39 -08:00
Dirkjan Ochtman
9ef9b3e5db
cmdutil: use change contexts for cset-printer and cset-templater
2008-11-14 13:59:25 +01:00
Matt Mackall
b2807810c6
linkrev: take a revision number rather than a hash
2008-11-12 15:19:14 -06:00
Ronny Pfannschmidt
599e773be7
export: fixed silent output file overwriting
...
hg export -o outfile 1 2 3 4 had the same effect as hg -o outfile 4
This was caused by opening with 'w' instead of 'a'. This only occurs when
the filename pattern resulted in ambiguous patch filenames.
2008-11-06 11:17:38 +01:00
Dirkjan Ochtman
2f6d26d640
patch: turn patch.diff() into a generator
...
This should even be a little faster than passing in an fp argument.
2008-11-03 16:48:23 +01:00
Benoit Boissinot
ea7fe6dacc
remove unused variables
2008-10-28 19:25:26 +01:00
Matt Mackall
bebeb261d5
findcmd: have dispatch look up strict flag
2008-10-22 17:34:08 -05:00
Matt Mackall
d06459495e
rename: handle renaming to a target marked removed
2008-10-18 04:26:09 -05:00
Benoit Boissinot
20fc9c8d79
allow committing a removed directory
...
fix issue1089
2008-09-03 02:27:25 +02:00
Martin Geisler
28fb695e9a
i18n: mark strings for translation in Mercurial
2008-08-31 16:12:02 +02:00
Matt Mackall
a65ef7bc5d
util: add sort helper
2008-06-27 18:28:45 -05:00
Matt Mackall
d4ab55a92b
status: clean up all users for unknown files
2008-06-27 13:43:29 -05:00
Matt Mackall
bc715be859
add __len__ and __iter__ methods to repo and revlog
2008-06-26 14:35:50 -05:00
Matt Mackall
fbb5127472
use repo[changeid] to get a changectx
2008-06-26 14:35:46 -05:00
Matt Mackall
9d556277c8
context: avoid using None for working parent
2008-06-25 17:35:20 -05:00
Patrick Mezard
a19a271534
Merge with crew-stable
2008-06-07 11:43:16 +02:00
Maxim Dounin
1ce305a01e
addremove: correctly handle intermediate symlinks
...
This fixes problems mentioned in issue660 comments (unrelated to original
issue) where directory was renamed, and symlink was added instead.
In such situation addremove wasn't able to correctly detect that old files
no longer here, but tried to add symlink (and failed due collision with
old files).
2008-05-07 14:32:00 +04:00
Matt Mackall
fb88571d19
match: remove files arg from repo.status and friends
2008-05-12 11:37:08 -05:00
Matt Mackall
6f8150b03d
match: stop passing files through commitfunc
2008-05-12 11:37:08 -05:00
Matt Mackall
643bf14a33
match: use helpers for cmdutil
2008-05-12 11:37:08 -05:00
Matt Mackall
7a52386b9e
walk: return a single value
2008-05-12 11:37:08 -05:00
Matt Mackall
aa95163304
walk: remove cmdutil.walk
2008-05-12 11:37:08 -05:00
Matt Mackall
5768074e71
walk: remove rel and exact returns
2008-05-12 11:37:08 -05:00
Matt Mackall
e02d6f5a75
walk: remove remaining users of cmdutils.matchpats
2008-05-12 11:37:07 -05:00
Matt Mackall
7e3e676e09
cmdutil: switch commit to match
2008-05-12 11:37:07 -05:00
Matt Mackall
9adaad6c57
walkchangerev: use new match objects
2008-05-12 11:37:07 -05:00
Matt Mackall
fb724552a5
walk: pass match object to cmdutil.walk
...
- introduce cmdutil.match
- change args to cmdutil.walk
- create match objects for walk calls
2008-05-12 11:37:07 -05:00
Matt Mackall
1897262320
walk: begin refactoring badmatch handling
2008-05-12 11:37:07 -05:00
Matt Mackall
15d8da57c1
walk: remove files arg from repo.walk and dirstate.walk
2008-05-12 11:37:07 -05:00
Matt Mackall
20f7afebf8
walk: introduce match objects
2008-05-12 11:37:07 -05:00
Matt Mackall
fd009cd512
walk: kill util.cmdmatcher and _matcher
2008-05-12 11:37:07 -05:00
Alexis S. L. Carvalho
56a207a5a7
rename --after: do not unlink source file (issue910)
...
"rename --after a.txt A.txt" on case mangling systems (e.g. Windows)
erroneously deleted A.txt (even if modified).
2008-04-19 10:42:30 +02:00
Dirkjan Ochtman
06d8e99e57
remove trailing spaces
2008-04-16 12:09:16 +02:00
Patrick Mezard
e6d132922b
cmdutil: handle and warn about missing copy revisions
2008-04-14 22:31:33 +02:00
Alexis S. L. Carvalho
6f8858904c
Fix issue995 (copy --after and symlinks pointing to a directory)
...
I haven't looked at other places that call os.path.isdir to make
sure they're OK.
2008-03-14 10:32:19 -03:00
Joel Rosdahl
5dae3059a0
Expand import * to allow Pyflakes to find problems
2008-03-06 22:23:26 +01:00
Thomas Arendsen Hein
5727413b6a
Move finding/checking the log limit to cmdutil
2008-02-29 01:51:23 +01:00
Alexis S. L. Carvalho
26b304926b
cmdutil.walkchangerevs: use '-1:0' instead ot 'tip:0'
...
This avoids a possibly expensive tag lookup.
2008-02-19 19:20:10 -03:00
Thomas Arendsen Hein
a1c1677af4
Fix bad behaviour when specifying an invalid date (issue700)
...
commit (aborts _after_ typing in a commit message)
backout (aborted after the initial revert)
tag (edited .hgtags and couldn't commit)
import (patch applied, then commit fails)
qnew (aborts on bad dates, but writes any valid date into the # Date header)
qrefresh (like qnew)
sign (like tag)
fetch (merge, merge, merge, merge, abort)
2008-02-17 21:34:28 +01:00
Alexis S. L. Carvalho
d3f4694609
cmdutil.commit: use relative paths in the error messages
...
This is more consistent with other error messages and requires
less makeup in test-commit and test-symlink-basic.
2008-02-15 10:38:37 -02:00
Matt Mackall
41e5c79455
templates: move filters to their own module
...
This eliminates just about all Mercurial dependencies in templater.py
2008-01-31 14:44:19 -06:00
Christian Ebert
5c18a69d2e
Prefer i in d over d.has_key(i)
2008-01-20 14:39:25 +01:00
Shun-ichi GOTO
188e44cf4b
Add endswithsep() and use it instead of using os.sep and os.altsep directly.
...
This change is intended to allow hooking endswithsep() by win32mbcs
extension for MBCS support.
2008-01-09 21:30:35 +09:00