Bryan O'Sullivan <bos@serpentine.com> [Thu, 14 May 2009 14:12:32 -0700] rev 8420
util: make atomictempfile saner if mktempcopy fails
Martin Geisler <mg@lazybytes.net> [Thu, 14 May 2009 23:05:16 +0200] rev 8419
merged with crew-stable
Martin Geisler <mg@lazybytes.net> [Thu, 14 May 2009 22:59:12 +0200] rev 8418
util: import random, missing since ea82a23cf887
Brett Carter <brett@rdnzl.net> [Thu, 14 May 2009 22:00:56 +0200] rev 8417
clone: try updating to the actual changeset specified in options
When cloning with the -r option or # url format from a tag the destination
repo most likely won't have the tag. We can save the lookup result to get to
the correct parent anyway. Similar to issue1306, but for tags.
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:24:39 -0500] rev 8416
commit: hoist the rest of the dirstate manipulation out of commitctx
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:24:39 -0500] rev 8415
commit: hoist up dirstate invalidate
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:24:26 -0500] rev 8414
commitctx: use contexts more fully
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:21:20 -0500] rev 8413
context: add new manifestnode method
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:21:20 -0500] rev 8412
commitctx: eliminate some variables
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:21:20 -0500] rev 8411
commit: move lots of commitctx outside of the repo lock
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:21:20 -0500] rev 8410
commit: combine _commitctx and commitctx, drop unused force argument
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:21:17 -0500] rev 8409
editor: move HG: filtering from ui to commiteditor
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8408
grep: make cache LRU rather than unlimited
grep could cache an unbounded number of revlogs, limit to 20 with an
LRU cache.
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8407
commit: move commit editor to cmdutil, pass as function
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8406
context: add p1 and p2 methods
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8405
commit: push repo lock down into _commitctx
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8404
commit: move 'nothing changed' test into commit()
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8403
commit: drop unused p1 and p2 args
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8402
tag: drop unused use_dirstate and parent from _tag()
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8401
filecommit: swallow some bits from _commitctx, add _
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8400
commitctx: replace wctx with ctx
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8399
commitctx: replace two dirstate vars with working
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8398
commitctx: simplify locking
(spotted by Simon Heimberg)
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8397
remove deprecated rawcommit
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8396
patch: copy copies dict before changing it (issue1651)
Matt Mackall <mpm@selenic.com> [Thu, 14 May 2009 13:20:40 -0500] rev 8395
status: check cmp list in order
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 14 May 2009 16:22:49 +0200] rev 8394
verify: detect manifest revs not in any changeset
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 14 May 2009 16:11:45 +0200] rev 8393
localrepo: use more direct vars in addchangegroup
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 14 May 2009 16:09:27 +0200] rev 8392
localrepo: use cl throughout in addchangegroup
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 14 May 2009 16:00:21 +0200] rev 8391
revlog: slightly tune group() by not going rev->node->rev
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 14 May 2009 15:35:46 +0200] rev 8390
drop unused imports
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 14 May 2009 15:24:36 +0200] rev 8389
indentation cleanup
Martin Geisler <mg@lazybytes.net> [Thu, 14 May 2009 17:28:26 +0200] rev 8388
test-debugcomplete: add --show merge option to output
Dirkjan Ochtman <dirkjan@ochtman.nl> [Thu, 14 May 2009 16:03:17 +0200] rev 8387
merge: add -S/--show option to review revisions without merging
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 14 May 2009 15:48:47 +0200] rev 8386
inotify: Abstract the layer format and sizes to a inotify.common dictionary
Instead of having a single possible request format, introduce a dictionary
of possible messages in inotify.common
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 11 May 2009 08:19:28 +0900] rev 8385
inotify: Coding Style: name classes in lowercase.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 08 May 2009 16:28:52 +0900] rev 8384
inotify: dic.setdefault(k, d) ; v = dic[k] --> v = dic.setdefault(k, d)
dict.setdefault sets a default value, but also returns the dict.get result.
Getting the value on the next instruction was redundant.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 08 May 2009 16:40:39 +0900] rev 8383
inotify: make mask a class variable since it's instance-independant
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 08 May 2009 17:45:01 +0900] rev 8382
inotify: RepoWatcher.updatestatus: document & use meaningful parameter names
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 18:19:26 +0900] rev 8381
inotify: server.walk(): use yield instead of for
iterate on subdir when the directory is found, not
once all the directories are found, since yield order doesn't matter
Simon Heimberg <simohe@besonet.ch> [Thu, 14 May 2009 10:59:55 +0200] rev 8380
context: replace pseudo-set by real set
Martin Geisler <mg@lazybytes.net> [Thu, 14 May 2009 13:21:47 +0200] rev 8379
highlight: updated changed test output
It was changed in 783c8c78db86, but I forgot to update it.
Martin Geisler <mg@lazybytes.net> [Thu, 14 May 2009 13:20:04 +0200] rev 8378
byterange: fix import error
We must import the module as email.Utils on case-sensitive
filesystems.
Michael J. Pedersen <m.pedersen@icelus.org> [Wed, 13 May 2009 15:03:31 -0400] rev 8377
convert: adding branchmap functionality to convert extension
Martin Geisler <mg@lazybytes.net> [Wed, 13 May 2009 22:42:40 +0200] rev 8376
spartan: break long lines in map file
Martin Geisler <mg@lazybytes.net> [Wed, 13 May 2009 22:42:19 +0200] rev 8375
monoblue: break long lines in map file
Martin Geisler <mg@lazybytes.net> [Wed, 13 May 2009 22:41:58 +0200] rev 8374
gitweb: break long lines in map file
Martin Geisler <mg@lazybytes.net> [Wed, 13 May 2009 22:41:36 +0200] rev 8373
coal: break long lines in map file
Martin Geisler <mg@lazybytes.net> [Wed, 13 May 2009 22:40:49 +0200] rev 8372
paper: break long lines in map file
Bryan O'Sullivan <bos@serpentine.com> [Wed, 13 May 2009 13:30:28 -0700] rev 8371
hgwebdir: refresh configuration periodically
The old default behaviour of hgwebdir was to maintain a list of
repositories permanently. This interacted badly with persistent
application hosting software such as WSGI containers. If a new repository
was published, it would potentially never appear in the top-level list
of repositories.
This change causes the hgwebdir configuration and list of repositories
served to be refreshed periodically (at most every 20 seconds).
Jonathan Kotta <jpkotta@packetdigital.com> [Wed, 13 May 2009 13:07:43 -0500] rev 8370
allow toggling when the cursor is on the correct line instead of just the filename text in hg-commit-toggle-file
Rocco Rutte <pdmef@gmx.net> [Wed, 13 May 2009 16:31:19 +0200] rev 8369
coal/paper: Wrap diff in <pre/>
In text-mode browsers the diff is otherwise rendered
as just one long line per file. Other styles do the same.
Martin Geisler <mg@lazybytes.net> [Tue, 12 May 2009 01:08:28 +0200] rev 8368
cmdutil: replace pseudo-set by real set
Mikkel Krøigaard <mk@cs.au.dk> [Wed, 13 May 2009 15:35:25 +0200] rev 8367
i18n-da: fixed unfortunate translation
The Danish word "fjern" means both "remote" and "remove".
Dirkjan Ochtman <dirkjan@ochtman.nl> [Wed, 13 May 2009 14:08:39 +0200] rev 8366
some modernization cleanups, forward compatibility
Greg Ward <greg-hg@gerg.ca> [Tue, 12 May 2009 10:03:36 -0400] rev 8365
Makefile: fix grammar in comment
Henrik Stuart <henrik.stuart@edlund.dk> [Tue, 12 May 2009 15:50:44 +0200] rev 8364
windows: avoid deleting non-empty reparse points
If a hg repository including working directory is a reparse point (directory
symlinked or a junction point), then using os.removedirs will remove the
reparse point erroneously. This is fixed by only removing directories if they
are empty.
Henrik Stuart <hg@hstuart.dk> [Mon, 11 May 2009 21:12:40 +0200] rev 8363
transaction: add atomic groups to transaction logic
When performing a strip operation on a repository, it is vital that all the
truncations are performed, or that none of them are. This is done by adding
support for writing a number of entries in a single operation.
Co-contributor: Sune Foldager <cryo@cyanite.org>
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 12 May 2009 11:15:54 +0200] rev 8362
mq: add -P/--push option to qimport
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 12 May 2009 12:05:19 +0200] rev 8361
templater: make the templating engine pluggable to some extent
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 12 May 2009 12:04:05 +0200] rev 8360
templater: provide the standard template filters by default
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 12 May 2009 10:57:55 +0200] rev 8359
hgweb: trust config file passed into hgwebdir
Before this patch, hgwebdir suddenly showed up empty for a webdir-conf file
that was for some reason not trusted. This was previously not a problem because
the trust mechanism wasn't required for the very separate webdir-conf.
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 12 May 2009 11:05:13 +0200] rev 8358
tests: add test for branches webcommand
Sune Foldager <cryo@cyanite.org> [Tue, 12 May 2009 11:58:39 +0200] rev 8357
spartan: add branches page
Sune Foldager <cryo@cyanite.org> [Mon, 11 May 2009 21:12:44 +0200] rev 8356
gitweb: add branches page
Sune Foldager <cryo@cyanite.org> [Mon, 11 May 2009 21:14:43 +0200] rev 8355
monoblue: add branches page
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 12 May 2009 10:23:45 +0200] rev 8354
hgweb: use context api in branches webcommand
Sune Foldager <cryo@cyanite.org> [Tue, 12 May 2009 12:00:54 +0200] rev 8353
paper/coal: add branches page
Sune Foldager <cryo@cyanite.org> [Tue, 12 May 2009 09:43:36 +0200] rev 8352
webcommands: add 'branches' command, similar to 'tags'
Rocco Rutte <pdmef@gmx.net> [Tue, 12 May 2009 11:27:26 +0200] rev 8351
test-patchbomb: fix style
Specifying revisions without -r is deprecated, break long lines.
Martin Geisler <mg@lazybytes.net> [Mon, 11 May 2009 23:42:03 +0200] rev 8350
tests: avoid export FOO=bar bashism
Martin Geisler <mg@lazybytes.net> [Mon, 11 May 2009 00:16:49 +0200] rev 8349
i18n-da: fix typo and translate rollback messages
Martin Geisler <mg@lazybytes.net> [Sun, 10 May 2009 01:18:38 +0200] rev 8348
record: better formatting for qrecord help
Bryan O'Sullivan <bos@serpentine.com> [Mon, 11 May 2009 11:53:27 -0700] rev 8347
util.termwidth: a file-like object may legitimately lack a fileno() method
Spotted in the wild when running a hook while pushing over HTTPS.
Dirkjan Ochtman <dirkjan@ochtman.nl> [Mon, 11 May 2009 14:19:49 +0200] rev 8346
hgweb: get rid of inaccurate hgwebdir.repos_sorted, localize machinery
Alexander Solovyov <piranha@piranha.org.ua> [Mon, 11 May 2009 14:20:18 +0200] rev 8345
hgwebdir: read --webdir-conf as actual configuration to ui (issue1586)
This cleans up code and allows specification of values more globally. For
example, it's now possible to specify web.contact in webdir-conf for all
repositories without a specified contact set.
Sune Foldager <cryo@cyanite.org> [Mon, 11 May 2009 07:55:13 +0200] rev 8344
url: fix bug in passwordmgr related to auth configuration
Usernames given as part of the URL would be ignored.
This bug was introduced in 89c80c3dc5842d609e9ba13f08fd2cf7f127c25a
Martin Geisler <mg@lazybytes.net> [Fri, 08 May 2009 15:14:04 +0200] rev 8343
mail: updated comment
Alexander Solovyov <piranha@piranha.org.ua> [Mon, 11 May 2009 13:03:34 +0300] rev 8342
add verbose output to compact template style
Brodie Rao <me+hg@dackz.net> [Sat, 09 May 2009 15:08:46 -0400] rev 8341
hgrc.5: fix label delimiter
Martin Geisler <mg@lazybytes.net> [Sat, 09 May 2009 17:34:11 +0200] rev 8340
util: remove unused bufsize argument in popen[23]
Martin Geisler <mg@lazybytes.net> [Sat, 09 May 2009 17:32:57 +0200] rev 8339
util: remove ignored mode argument in popen[23]
Martin Geisler <mg@lazybytes.net> [Sat, 09 May 2009 17:12:39 +0200] rev 8338
i18n-da: synchronized and improved slightly
Martin Geisler <mg@lazybytes.net> [Sat, 09 May 2009 14:56:06 +0200] rev 8337
copies: don't translate untranslatable string
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 08 May 2009 17:17:03 +0900] rev 8336
inotify: remove the useless 'if st' checks in RepoWatcher.filestatus
Only call is in RepoWatcher.updatestatus:
if st:
self.filestatus(wfn, st)
st can never be None
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 21:18:33 +0900] rev 8335
inotify: Clarify the use of "watcher" name.
Currently, Watcher is a class in inotify.linux.watcher, but it's also a class
in inotify.server . To complicate things further more, the latter has a
'watcher' attribute, an instance of the former class.
When it comes to the 'watcher' attribute of the Server class in inotify.server,
one can get quite confused: is it a Watcher object from inotify.server, or from
inotify.linux.watcher?
Changes:
* in inotify.linux.watcher : nothing
* in inotify.server :
** Watcher class is renamed to RepoWatcher
** server.watcher is renamed to server.repowatcher
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 18:23:05 +0900] rev 8334
inotify: inotify.server.walk() filetype is never used, do not yield it
Sune Foldager <cryo@cyanite.org> [Mon, 04 May 2009 20:26:27 +0200] rev 8333
allow http authentication information to be specified in the configuration
Rocco Rutte <pdmef@gmx.net> [Fri, 08 May 2009 18:30:44 +0200] rev 8332
patchbomb: quoted-printable encode overly long lines
RfC2822 mandates a line length limit of 998 byte + CRLF.
Python mail tools break lines at 990 byte. To prevent
that, we quoted-printable encode overly long lines.
Martin Geisler <mg@lazybytes.net> [Sat, 09 May 2009 01:15:24 +0200] rev 8331
patchbomb: fix quotes in help string
Bryan O'Sullivan <bos@serpentine.com> [Fri, 08 May 2009 15:52:26 -0700] rev 8330
Windows: improve performance via buffered I/O
The posixfile_nt code hits the win32 file API directly, which
essentially amounts to performing a system call for every read and
write. This is slow.
We add a C extension that lets us use a Python file object instead,
but preserve our desired POSIX-like semantics (the ability to rename
or delete a file that is being accessed).
If the C extension is not available (e.g. in a VPS environment
without a compiler), we fall back to the posixfile_nt code.
Bryan O'Sullivan <bos@serpentine.com> [Thu, 26 Mar 2009 13:14:35 -0700] rev 8329
win32: clarify comment regarding use of fdopen
Bryan O'Sullivan <bos@serpentine.com> [Thu, 26 Mar 2009 13:13:48 -0700] rev 8328
win32: allow catching of both pywintypes.error and WindowsError
Bryan O'Sullivan <bos@serpentine.com> [Thu, 26 Mar 2009 13:12:11 -0700] rev 8327
atomictempfile: delegate to posixfile instead of inheriting from it
Dirkjan Ochtman <dirkjan@ochtman.nl> [Fri, 08 May 2009 22:35:10 +0200] rev 8326
merge with mpm
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 18:04:41 +0900] rev 8325
inotify: inotify.server.walk() simplify control flow
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 17:58:26 +0900] rev 8324
inotify: inotify.server.walk*() remove unnecessary var
Remove hginside var and the test it relates to:
not( top or not hginside ) == (not top) and hginside, so the only case
when nothing will be yielded is when hginside is True and top is False.
Because of the returns placed upstream, this case will not happen anymore.
We can then safely remove hginside and the (if)s
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 17:17:03 +0900] rev 8323
inotify: inotify.server.walk*() cleanup
When not in root repo, if we meet a .hg, bail out.
break was used, but return can be safely used instead: if we go through break
then (top or not hginside) == False -> nothing is done after the for loop
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 17:11:49 +0900] rev 8322
inotify: inotify.server.walkrepodirs() simplify walking
Do not 'yield tuple, boolean' to filter later on the boolean.
Test the boolean first, and yield tuple only if needed.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 17:06:59 +0900] rev 8321
inotify: inotify.server.walkrepodirs() simplify
compute string concatenation only once
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 16:57:52 +0900] rev 8320
inotify: inotify.server.walk() simplify algorithm
Do not yield (bool, tuple) in a subfunction and check later:
'if not bool: yield tuple'.
Instead simplify so the tuple doesnt get yielded on the first time, to avoid
systematic checks.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 04 May 2009 16:43:28 +0900] rev 8319
inotify: inotify.server.walk cleanups
* Removing useless path computation
* moving 'reporoot' computation down to the first call to avoid confusion
with the parameter used in walkit()
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2009 19:39:45 -0500] rev 8318
revlog: add cache priming for reconstructing delta chains
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2009 19:39:45 -0500] rev 8317
revlog: use chunk cache to avoid rereading when splitting inline files
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2009 19:39:45 -0500] rev 8316
revlog: clean up the chunk caching code
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2009 19:39:45 -0500] rev 8315
revlog: use index to find index size
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2009 19:39:45 -0500] rev 8314
revlog: preread revlog .i file
Smaller revlogs can be read with a single read, do it on open.
Sverre Rabbelier <sverre@rabbelier.nl> [Fri, 08 May 2009 16:30:51 +0200] rev 8313
commit: be more verbose in the -u help text
Make the requirement of an argument for -u a little more explicit.
Simon Heimberg <simohe@besonet.ch> [Tue, 28 Apr 2009 17:40:46 +0200] rev 8312
separate import lines from mercurial and general python modules
Giorgos Keramidas <keramida@ceid.upatras.gr> [Thu, 07 May 2009 15:08:25 +0300] rev 8311
manpage build: fail early when xmlto is not available
When we try to build manpages with xmlto and sed, but xmlto is
missing fail at the xmlto stage. Otherwise, one may run `cd doc;
make' and miss the warnings like:
xmlto: not found
sed: hg.1: No such file or directory
and end up with empty files installed as manpages.
Simon Heimberg <simohe@besonet.ch> [Fri, 08 May 2009 07:54:00 +0200] rev 8310
dirstate: translate forgotten string
Simon Heimberg <simohe@besonet.ch> [Fri, 08 May 2009 09:59:15 +0200] rev 8309
util: overwrite sha1 and _fastsha1
Greg Ward <greg-hg@gerg.ca> [Thu, 07 May 2009 21:35:12 -0400] rev 8308
test-convert-bzr: tweak sed hack to preserve timezone in 'bzr log' output
Martin Geisler <mg@lazybytes.net> [Thu, 07 May 2009 19:08:25 +0200] rev 8307
zeroconf: remove unwarranted execute bit
Martin Geisler <mg@lazybytes.net> [Thu, 07 May 2009 19:02:39 +0200] rev 8306
test-convert-bzr: use sed instead of awk
The run-tests.py script has a list of required tools and awk is not
one of them -- luckily it could be replaced by sed in this case.
Greg Ward <greg-hg@gerg.ca> [Wed, 06 May 2009 17:48:03 -0400] rev 8305
convert/bzr: handle Bazaar timestamps correctly (issue1652).
Martin Geisler <mg@lazybytes.net> [Thu, 07 May 2009 17:56:57 +0200] rev 8304
dispatch: remember loaded extensions in a real set
Martin Geisler <mg@lazybytes.net> [Thu, 07 May 2009 01:33:45 +0200] rev 8303
gpg: use reverse kwarg to sort sigs in reversed order
Martin Geisler <mg@lazybytes.net> [Thu, 07 May 2009 01:33:44 +0200] rev 8302
util: simplify pipefilter and avoid subprocess race
The subprocess module is not thread safe. Spawning a thread to read
the output leads to exceptions like this when Mercurial exits:
Exception exceptions.TypeError: TypeError("'NoneType' object is not
callable",) in <bound method Popen.__del__ of <subprocess.Popen
object at 0x9ed0dcc>> ignored
The bug is already reported in the Python bug tracker:
http://bugs.python.org/issue1731717
Martin Geisler <mg@lazybytes.net> [Wed, 06 May 2009 23:35:20 +0200] rev 8301
Removed unnecessary call to dict.keys.