Commit Graph

217 Commits

Author SHA1 Message Date
Greg Ward
889a9ffb8d cmdutil: changeset_printer: use methods of filectx/changectx.
This allows extensions that modify changeset metadata (e.g.
description) by overriding methods of changectx to get consistent
behavior from all log-like commands, regardless of whether templates
or styles are used. Without this, overriding changectx methods works
if you use styles or templates, but not with default log format.

This meant adding filectx.extra() for consistency with changectx.
2009-10-05 18:17:13 -04:00
Nicolas Dumazet
7eadbe8d42 for calls expecting bool args, pass bool instead of int
str.splitlines and email.message.as_string both expect a bool argument
defaulting at False: replace f(1) by f(True) and f(0) by f()
2009-07-13 09:50:26 +09:00
Matt Mackall
eb6cba34d7 Merge with stable 2009-07-09 19:49:02 -05:00
Matt Mackall
f5635aa406 filectx: add a hex method 2009-07-06 14:52:44 -05:00
Matt Mackall
e3dc8aa6db fix memory usage of revlog caches by limiting cache size [issue1639] 2009-07-09 17:10:07 -05:00
Greg Ward
acf5297c3a context: improve arg-checking assert. 2009-07-03 10:43:46 -04:00
Matt Mackall
fd08adf4d6 commit: recurse into subrepositories 2009-06-15 02:45:38 -05:00
Matt Mackall
ce2e49a0da subrepo: introduce basic state parsing 2009-06-15 02:45:38 -05:00
Matt Mackall
56c9dee4e1 context: add a dirty method to detect modified contexts 2009-06-04 16:21:55 -05:00
Augie Fackler
678623416a dirstate: don't check state of subrepo directories 2009-12-31 17:19:30 -06:00
Benoit Boissinot
0c85bdcee0 context: parents() already filters nullid 2009-12-01 01:08:16 +01:00
Benoit Boissinot
e4e6f5d929 context: use key-sorting instead of tuples 2009-12-01 01:03:54 +01:00
Benoit Boissinot
37cf6c6d68 workingfilectx: always use the same filelog, even for renames
workingfilectx() was using the "src" filelog in case the file was renamed in
the working copy.
For consistency, stop special-casing it. This allows us to remove some
duplication between filectx and workingfilectx.
2009-05-20 02:08:53 +02:00
Martin Geisler
0a365d5ca2 use 'x is None' instead of 'x == None'
The built-in None object is a singleton and it is therefore safe to
compare memory addresses with is. It is also faster, how much depends
on the object being compared. For a simple type like str I get:

            | s = "foo" | s = None
  ----------+-----------+----------
  s == None | 0.25 usec | 0.21 usec
  s is None | 0.17 usec | 0.17 usec
2009-05-20 00:52:46 +02:00
Matt Mackall
188df2eaa9 context: add new manifestnode method 2009-05-14 13:21:20 -05:00
Matt Mackall
9a5dcd2974 context: add p1 and p2 methods 2009-05-14 13:20:40 -05:00
Matt Mackall
49e6e0b6c0 filecommit: swallow some bits from _commitctx, add _ 2009-05-14 13:20:40 -05:00
Simon Heimberg
df774ad0e5 context: replace pseudo-set by real set 2009-05-14 10:59:55 +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
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
9ec97bdefe util: take propertycache from context.py 2009-04-26 16:50:44 -05:00
Martin Geisler
3ce0ca846d context: use Python 2.4 decorator syntax 2009-04-24 18:47:15 +02:00
Martin Geisler
44aa7e92d1 util: use built-in set instead of util.unique 2009-04-22 00:56:06 +02:00
Patrick Mezard
cd3505dbbc Merge with crew-stable 2009-04-13 21:57:17 +02:00
Patrick Mezard
4764779700 context: fix workingctx.__contains__ 2009-04-13 19:47:11 +02:00
Peter Arrenbrecht
a2d3e23eef cleanup: drop variables for unused return values
They are unnecessary. I did leave them in localrepo.py where there is
something like:

  _junk = foo()
  _junk = None

to free memory early. I don't know if just `foo()` will free the return
value as early.
2009-03-23 13:13:02 +01:00
Matt Mackall
d15d559b7c errors: move revlog errors
- create error.py for exception classes to reduce demandloading
- move revlog exceptions to it
- change users to import error and drop revlog import if possible
2009-01-11 22:48:28 -06:00
Patrick Mezard
6f86a4092b context: enforce memctx.files() unicity
localrepo.commitctx() expects changed files lists to contain unique items and
does not sort itself. Passing duplicates makes them evaluated more than once
and changes the committed changelog id.
2008-12-14 17:35:19 +01:00
Dirkjan Ochtman
d5bf581a69 context: use descriptors to speed up lazy attributes 2008-11-14 12:44:26 +01:00
Dirkjan Ochtman
c8e4c03aa9 context: special-case changectx setup for integer changeid 2008-11-13 21:09:51 +01:00
Matt Mackall
b2807810c6 linkrev: take a revision number rather than a hash 2008-11-12 15:19:14 -06:00
Patrick Mezard
ad3b5c4ec9 context: improve memctx documentation 2008-10-11 13:07:29 +02:00
Peter Ruibal
30a2036f9e use Exception(args)-style raising consistently (py3k compatibility) 2008-09-08 13:07:00 +02:00
Matt Mackall
08b29d9875 Merge with stable
Simplify the copy search algorithm
2008-08-10 18:38:43 -05:00
Dirkjan Ochtman
26b9b92409 context: get rid of unused changectx.filectxs() method 2008-07-21 13:26:42 +02:00
Dirkjan Ochtman
6b15d82e07 context: fix workingctx's __contains__ method 2008-07-21 13:22:11 +02:00
Matt Mackall
e008b3db94 dirstate.walk: build a dict rather than yield
Since we're already building a seen dict, we might as well put our
results in it to go slightly faster.
2008-07-22 13:03:21 -05:00
Matt Mackall
8cb2b4a288 dirstate.walk: push sorting up 2008-07-22 13:03:19 -05:00
Matt Mackall
9d3da8e0ee dirstate.walk: eliminate src from yield
- restructure 'step two' to stat unseen files
- remove extra stat logic in status
- remove redundant src
2008-07-22 13:02:36 -05:00
Matt Mackall
b4ff221e3e minor status fixups 2008-07-22 13:00:22 -05:00
Patrick Mezard
c2be161a5c context: trigger missing username warning only when necessary 2008-07-20 19:09:00 +02:00
Matt Mackall
b161cadfc8 context: simplify parents code 2008-07-11 18:46:02 -05:00
Matt Mackall
644a7f906e workingctx: add __contains__ method 2008-07-11 18:46:02 -05:00
Matt Mackall
f1402a6652 context: add walk method 2008-06-27 19:25:48 -05:00
Matt Mackall
087987c8d8 context: add __int__ and hex methods 2008-06-27 18:44:43 -05: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
fbb5127472 use repo[changeid] to get a changectx 2008-06-26 14:35:46 -05:00
Matt Mackall
25b1f97147 context: remove islink and isexec methods 2008-06-26 13:52:16 -05:00
Matt Mackall
d462e1fc26 simplify flag handling
add _checklink var to dirstate
introduce dirstate.flagfunc
switch users of util.execfunc/linkfunc to flagfunc
change manifestdict.set to take a flags string
change ctx.fileflags to ctx.flags
change gitmode func to a dict
remove util.execfunc/linkfunc
2008-06-26 13:46:34 -05:00
Matt Mackall
2bd0fe0371 context: clean up parents() 2008-06-26 13:46:33 -05:00
Matt Mackall
2d2ae68ba8 context: simplify changeid logic 2008-06-26 13:46:31 -05:00
Matt Mackall
0a211cf39a context: consistently return p1 context for None 2008-06-25 17:33:51 -05:00
Dirkjan Ochtman
b5da46f6f1 kill some trailing spaces 2008-06-23 13:12:32 +02:00
Christian Ebert
11232ed4ba Fix commit date (issue1193)
The None check in workingctx prevents calling util.makedate
when date is not explicitly given.
2008-06-21 15:27:51 +02:00
Patrick Mezard
1ae4077ddd context: add memctx for memory commits 2008-06-19 00:14:23 +02:00
Patrick Mezard
67c45a2700 context: let workingctx.date(), .user() and description() be overriden 2008-06-18 22:52:26 +02:00
Patrick Mezard
767445bf63 localrepo: let commit() get extra data from workingctx 2008-06-18 22:52:26 +02:00
Patrick Mezard
f2fb1d0609 localrepo: hide commit() file selection behind workingctx 2008-06-18 22:52:25 +02:00
Patrick Mezard
d184e29b1c context: let workingctx parents be overriden 2008-06-18 22:52:25 +02:00
Patrick Mezard
1fa87a95fd Merge with crew-stable 2008-06-15 13:05:39 +02:00
Patrick Mezard
af038bed31 context: fix workingctx.fileflags() execute bit 2008-06-15 13:01:01 +02:00
Patrick Mezard
91d2df2c77 Merge with crew-stable 2008-04-12 21:34:01 +02:00
Patrick Mezard
3409e6fdc3 context: handle untracked files in filectx.fileflags() 2008-04-12 21:08:03 +02:00
Paul Moore
0046a32c4b python 2.6 compatibility: add __hash__ to classes that have __eq__ 2008-04-04 22:41:17 +02:00
Alexis S. L. Carvalho
dd492604df filectx.ancestor: use fctx._repopath to cache filelogs (issue1035)
_repopath may be different from _path for workingfilectx when there
are renames involved.
2008-03-16 06:10:47 -03:00
Matt Mackall
865487e7f2 revlog: report node and file when lookup fails 2008-03-11 17:42:29 -05:00
Joel Rosdahl
4f8012378a Remove unused imports 2008-03-06 22:23:41 +01:00
Joel Rosdahl
5dae3059a0 Expand import * to allow Pyflakes to find problems 2008-03-06 22:23:26 +01:00
Thomas Arendsen Hein
deb94bc7fe Removed trailing spaces from everything except test output 2008-03-07 00:24:36 +01:00
Patrick Mezard
4b9a547de4 context: fix filectx.parents() bug introduced when editing 3fb82bcfc6e3 2008-01-06 15:40:32 +01:00
Maxim Dounin
4d9877b4eb Fix copies reporting in log and convert.
If copy logged in file revision, we report copy for changeset only
if file revisions linkrev points back to the changeset in question
or both changeset parents contain different file revisions.

This fixes extra copies reported when executable bit was changed for
previously copied file.
2007-12-29 17:11:48 +03:00
Maxim Dounin
940a0afd31 context: preserve changeset in filectx if we have one
If we know original changeset we are working with - try hard to
preserve it. Fallback to filelog.linkrev() only if we have no way
to get original changeset, since linkrev() may point to other
changeset.
2007-12-29 16:57:43 +03:00
Thomas Arendsen Hein
347da85c36 Removed tabs and trailing whitespace in python files 2007-12-29 19:49:48 +01:00
Bryan O'Sullivan
d32d6fb57f make LookupError more detailed 2007-11-28 08:36:55 -08:00
Bryan O'Sullivan
2a0ef5ab06 Fix context iterator. 2007-11-02 14:44:33 -07:00
Bryan O'Sullivan
6df62fb77c convert: make contents of "extra" dict available from sources, for sinks.
This breaks hash preservation for hg->hg conversion, as each converted
change gets a convert_revision item added to its extra dict.  Ugh.
2007-10-10 15:30:00 -07:00
Patrick Mezard
2dee2a1086 Fix workingctx exec/link bit of copies on non-supporting systems 2007-10-07 15:07:35 +02:00
Patrick Mezard
8102777e5e Fix bad lambda prototype in workingctx.fileflags() 2007-10-06 17:54:33 +02:00
Patrick Mezard
904ffeda9f context: add fileflags() to avoid rebuilding manifests 2007-10-05 23:01:38 +02:00
Matt Mackall
410e8d67c6 context: add __contains__, __getitem__, and __iter__ 2007-07-21 16:02:09 -05:00
Matt Mackall
642976187f contexts: improve filectx eq test 2007-07-16 17:39:03 -05:00
FUJIWARA Katsunori
03774e057f Allow filectx.annotate to return the line number of first appearance. 2007-07-08 19:46:04 +02:00
Matt Mackall
cfe7a0a522 merge: make test for fast-forward merge stricter (issue619)
don't allow merging with an ancestor
fix != on contexts
add a test
2007-07-05 13:34:18 -05:00
Matt Mackall
7be33e5057 context: add tags() method 2007-06-21 11:42:39 -05:00
Patrick Mezard
0b90ff3d83 Merge with crew-stable 2007-06-20 00:22:51 +02:00
Patrick Mezard
aae84719a5 Fix issue 589: "undelete" sequence leads to crash. 2007-06-20 00:10:21 +02:00
Thomas Arendsen Hein
4d29c6dc8e Updated copyright notices and add "and others" to "hg version" 2007-06-19 08:51:34 +02:00
Matt Mackall
5fa7270b2d Merge with stable 2007-05-08 11:42:48 -05:00
Matt Mackall
d4deb74aa1 context: fix workingfilectx._changectx 2007-05-07 22:30:36 -05:00
Matt Mackall
e896adead6 Merge with -stable, fix small test failure 2007-03-14 01:26:09 -05:00
Matt Mackall
c2bb73121f Move branch read/write to dirstate where it belongs 2007-03-13 18:50:02 -05:00
Matt Mackall
19d825d10e Minor default branch cleanups 2007-03-13 15:47:55 -05:00
Alexis S. L. Carvalho
fd69fe8d91 "default" is the default branch name 2007-03-13 15:02:33 -03:00
Thomas Arendsen Hein
d104165f50 Use only integer part of mtime in workingfilectx.date(), fixes test-context.py
Similar to what is done in dirstate.status() (changeset db96436edaee)
and has to be removed when Mercurial switches to subsecond granularity.
2007-02-26 21:57:33 +01:00
Thomas Arendsen Hein
c20f16ea94 Fixed workingfilectx.date() (found by Thomas Waldmann) with test. 2007-02-23 17:31:00 +01:00
Matt Mackall
2e27ddd82b symlinks: use is_link wherever is_exec is used 2006-12-29 20:04:31 -06:00
Matt Mackall
b875ad6c04 exec: add execfunc to simplify exec flag support on non-exec filesystems 2006-12-29 20:04:30 -06:00
Benoit Boissinot
35f1d19852 context: create a filectxt with filelog reuse 2006-12-25 18:57:55 +01:00