Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 06 Oct 2007 15:30:15 -0300] rev 5402
mercurial_sink: regrab locks in setbranch
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 06 Oct 2007 15:30:15 -0300] rev 5401
convert --filemap: reduce memory usage
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 06 Oct 2007 15:30:15 -0300] rev 5400
convert: change SKIPREV to 'SKIP'
Patrick Mezard <pmezard@gmail.com> [Sat, 06 Oct 2007 17:54:33 +0200] rev 5399
Fix bad lambda prototype in workingctx.fileflags()
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 06 Oct 2007 14:14:11 -0300] rev 5398
osutil.c: use readdir instead of readdir64
Some systems (e.g. *BSD) don't have a readdir64 function - the regular
readdir already uses 64-bit types.
On other systems (Linux, Solaris, ...), if Python was compiled with large
file support, Python.h will define _LARGEFILE_SOURCE and _FILE_OFFSET_BITS=64,
so that any call to readdir will actually be a call to readdir64. If Python
was not compiled with large file support, we probably don't want to define
these macros to avoid ABI problems.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 06 Oct 2007 14:14:11 -0300] rev 5397
osutil.c: include Python.h before the other headers
This is recommended by the Python documentation, since Python.h defines
some constants.
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 15:01:06 -0700] rev 5396
Add osutil module, containing a listdir function.
This is similar to os.listdir, only it returns a sorted list of tuples.
Patrick Mezard <pmezard@gmail.com> [Fri, 05 Oct 2007 23:40:33 +0200] rev 5395
hgk: add basic usage and configuration documentation
Patrick Mezard <pmezard@gmail.com> [Tue, 02 Oct 2007 23:28:04 +0200] rev 5394
hgk: add context menu visual diff action
* * *
Patrick Mezard <pmezard@gmail.com> [Fri, 05 Oct 2007 22:39:36 +0200] rev 5393
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com> [Tue, 02 Oct 2007 23:28:02 +0200] rev 5392
hgk: fix right-mouse button handling under macosx
Patrick Mezard <pmezard@gmail.com> [Fri, 05 Oct 2007 23:01:38 +0200] rev 5391
Test *_ISLINK merge environment vars
Patrick Mezard <pmezard@gmail.com> [Wed, 03 Oct 2007 23:09:36 +0200] rev 5390
merge: provide *_ISLINK environment vars to merge helper
Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files.
Patrick Mezard <pmezard@gmail.com> [Fri, 05 Oct 2007 23:01:38 +0200] rev 5389
context: add fileflags() to avoid rebuilding manifests
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 12:42:52 -0700] rev 5388
run-tests.py: allow a different temporary directory to be specified
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 12:30:19 -0700] rev 5387
Update test for new output produced since 17ed9b9a0d03
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 12:28:18 -0700] rev 5386
Fix accidentally broken test.
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 12:17:29 -0700] rev 5385
Merge with crew.
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 12:17:01 -0700] rev 5384
Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 09:30:02 -0700] rev 5383
run-tests.py: reorder options alphabetically.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5382
convert_svn: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5381
convert_cvs: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5380
convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5379
mercurial_source: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5378
convert: add a mode where mercurial_sink skips empty revisions.
The getchanges function of some converter_source classes can return
some false positives. I.e. they sometimes claim that a file "foo"
was changed in some revision, even though its contents are still the
same.
convert_svn is particularly bad, but I think this can also happen with
convert_cvs and, at least in theory, with mercurial_source.
For regular conversions this is not really a problem - as long as
getfile returns the right contents, we'll get a converted revision
with the right contents. But when we use --filemap, this could lead
to superfluous revisions being converted.
Instead of fixing every converter_source, I decided to change
mercurial_sink to work around this problem.
When --filemap is used, we're interested only in revisions that touch
some specific files. If a revision doesn't change any of these files,
then we're not interested in it (at least for revisions with a single
parent; merges are special).
For mercurial_sink, we abuse this property and rollback a commit if
the manifest text hasn't changed. This avoids duplicating the logic
from localrepo.filecommit to detect unchanged files.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5377
convert: readd --filemap
To handle merges correctly, this revision adds a filemap_source class
that wraps a converter_source and does the work necessary to calculate
the subgraph we're interested in.
The wrapped converter_source must provide a new getchangedfiles method
that, given a revision rev, and an index N, returns the list of files
that are different in rev and its Nth parent.
The implementation depends on the ability to skip some revisions and to
change the parents field of the commit objects that we returned earlier.
To make the conversion restartable, we assume the revisons in the
revmapfile are topologically sorted.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5376
convert: move filemapper class to a separate file
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5375
convert: disable current --filemap support
The --filemap support in hg convert doesn't handle merges correctly.
(And after 33015dac5df5 I managed to break it even for simple cases
where we don't want the first revision.)
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5374
convert: allow the converter_source to say "skip this revision"
If getchanges returns a string, it's assumed to be the id of an
already converted revision. We map the current revision to the same
revision this converted revision was mapped to.
To allow skipping a root revision, getchanges can return the special
string 'hg-convert-skipped-revision' (a.k.a. common.SKIPREV), which
hopefully won't clash with any real id.
The converter_source is responsible for rewriting the parents of the
commit objects to make sure the revision graph makes sense.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5373
convert: pass the order of the revmapfile to the converter_source
The entries in this file are supposed to be topologically sorted and
this may be useful for a converter_source.
Matt Mackall <mpm@selenic.com> [Thu, 04 Oct 2007 19:47:22 -0500] rev 5372
Merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 04 Oct 2007 19:44:37 -0500] rev 5371
merge: add debug diagnostics for findcopies
Matt Mackall <mpm@selenic.com> [Wed, 03 Oct 2007 17:17:28 -0500] rev 5370
changegroup: avoid large copies
- handle chunk headers separately rather than prepending them to
(potentially large) chunks
- break large chunks into 1M pieces for compression
- don't prepend file metadata onto (potentially large) file data
Matt Mackall <mpm@selenic.com> [Wed, 03 Oct 2007 17:17:27 -0500] rev 5369
revlog: generate trivial deltas against null revision
To avoid extra memory usage and performance issues with large files,
generate a trivial delta header for deltas against the null revision
rather than calling the usual delta generator.
We append the delta header to meta rather than prepending it to data
to avoid a large allocate and copy.
Matt Mackall <mpm@selenic.com> [Wed, 03 Oct 2007 16:50:32 -0500] rev 5368
Merge with crew
Matt Mackall <mpm@selenic.com> [Tue, 02 Oct 2007 18:04:18 -0500] rev 5367
Merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 27 Sep 2007 23:59:18 -0500] rev 5366
bdiff: switch to lyhash
lyhash is a very simple and fast hash function that had the fewest
hash collisions on a 3.9M line text corpus and 190k line binary corpus
and should have significantly fewer collisions than the current hash
function.
Matt Mackall <mpm@selenic.com> [Thu, 27 Sep 2007 23:59:02 -0500] rev 5365
bdiff: use INT_MAX to avoid some inner loop comparisons
Christoph Spiel <cspiel@freenet.de> [Thu, 27 Sep 2007 23:58:54 -0500] rev 5364
bdiff: simple splitlines optimization
Christoph Spiel <cspiel@freenet.de> [Thu, 27 Sep 2007 23:57:57 -0500] rev 5363
I have spotted the biggest bottleneck in "bdiff.c". Actually it was
pretty easy to find after I recompiled the python interpreter and
mercurial for profiling.
In "bdiff.c" function "equatelines" allocates the minimum hash table
size, which can lead to tons of collisions. I introduced an
"overcommit" factor of 16, this is, I allocate 16 times more memory
than the minimum value. Overcommiting 128 times does not improve the
performance over the 16-times case.
Patrick Mezard <pmezard@gmail.com> [Thu, 04 Oct 2007 14:26:34 +0200] rev 5362
Merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2007 14:23:28 +0200] rev 5361
test-convert-git: support older git client (1.4.4.4)
Patrick Mezard <pmezard@gmail.com> [Wed, 03 Oct 2007 21:08:37 +0200] rev 5360
Merge with crew-stable
Christian Ebert <blacktrash@gmx.net> [Wed, 03 Oct 2007 21:01:47 +0200] rev 5359
test-convert-cvs: handle older cvs client
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 21:01:00 -0700] rev 5358
Merge with crew
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 21:00:38 -0700] rev 5357
convert: fix a few residual bugs in darcs importer
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 13:49:36 -0700] rev 5356
Merge with crew.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 13:49:11 -0700] rev 5355
convert: support darcs as a source repo
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 13:48:52 -0700] rev 5354
convert: fail properly if we can't read a source hg repository
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 13:46:59 -0700] rev 5353
util: add default argument to strdate
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 13:46:17 -0700] rev 5352
convert: add before/after hooks for converter sources
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Tue, 02 Oct 2007 20:25:35 +0200] rev 5351
merge with -stable
Steve Borho <steve@ageia.com> [Tue, 02 Oct 2007 20:22:33 +0200] rev 5350
set_exec: do not chmod a symlink
Patrick Mezard <pmezard@gmail.com> [Sun, 30 Sep 2007 16:38:42 +0200] rev 5349
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sun, 30 Sep 2007 16:36:22 +0200] rev 5348
Test debugindexdot
Patrick Mezard <pmezard@gmail.com> [Sun, 30 Sep 2007 12:36:11 +0200] rev 5347
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sun, 30 Sep 2007 12:08:33 +0200] rev 5346
Test mercurial convert sink removes empty directories.
Patrick Mezard <pmezard@gmail.com> [Sun, 30 Sep 2007 12:08:33 +0200] rev 5345
convert: fix missing import
Bryan O'Sullivan <bos@serpentine.com> [Sat, 29 Sep 2007 21:10:54 -0700] rev 5344
Merge with crew-stable.
Bryan O'Sullivan <bos@serpentine.com> [Sat, 29 Sep 2007 21:08:14 -0700] rev 5343
convert: delete empty directories if deleting a file (bug 754)
Bryan O'Sullivan <bos@serpentine.com> [Sat, 29 Sep 2007 20:55:36 -0700] rev 5342
Merge with crew.
Terry Smith <terry@t11e.com> [Tue, 11 Sep 2007 13:30:37 -0400] rev 5341
darcs2hg: Added support for darcs tags.
Terry Smith <terry@t11e.com> [Tue, 11 Sep 2007 13:13:54 -0400] rev 5340
darcs2hg: Now detects and recovers from simple darcs conflicts.
Terry Smith <terry@t11e.com> [Tue, 11 Sep 2007 12:42:52 -0400] rev 5339
darcs2hg: Now understands files that were explicitly renamed in darcs.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 26 Sep 2007 01:58:45 -0300] rev 5338
revlog: fix revlogio.packentry corner case
We want to store version information about the revlog in the first
entry of its index. The code in packentry was using some heuristics
to detect whether this was the first entry, but these heuristics could
fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from
the nullid and is stored as a delta).
We now give the revision number to packentry to avoid heuristics.
Dirkjan Ochtman <dirkjan@ochtman.nl> [Tue, 25 Sep 2007 19:05:34 +0200] rev 5337
Don't try to determine interactivity if ui() called with interactive=False.
WSGI applications are not supposed to refer to sys.stdin. In ed6df6b1c29a,
hgweb and hgwebdir were fixed to pass interactive=False to their ui()'s, but
sys.stdin.isatty() was still called by the ui objects. This change makes sure
only the ui.fixconfig() method will call ui.isatty() (by making the
ui._readline() method, which is currently only called from ui.prompt(),
private). ui.fixconfig() is changed to let config files override the initial
interactivity setting, but not check isatty() if interactive=False was
specified in the creation of the ui.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:14:18 -0300] rev 5336
Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5335
convert_git: avoid returning two entries for the same file in getchanges
This could happen in merge changesets if the merged file was different
from both parents.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5334
mq: fix qrefresh -e with no patches applied
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5333
Push over HTTP: really tell the user the size of the bundle
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5332
hgwebdir: ignore hgrc parse errors while building the index page
An error in the .hg/hgrc file from a repository would prevent the
following repos from being shown in the index page.
The IOError handling was unnecessary - it's already handled in
readconfig.
This should fix issue731.
The error in the .hg/hgrc file will still prevent the repo from
being exported with hgweb.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5331
hgweb: don't raise an exception when displying empty repos
The nullid node claims it's in the default branch, but the branch dict
is empty. This fixes the main symptom from issue696, but we may want
to set branchtags()['default'] = nullid somewhere for empty repos.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5330
make identify an optionalrepo command
Fixes issue726.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 24 Sep 2007 19:00:11 -0300] rev 5329
copy: if destination ends with "/", make sure it's a directory
Fixes issue724.
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:42:25 -0500] rev 5328
manifest: minor performance tweak
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:41:54 -0500] rev 5327
dirstate: speed up read and write
read:
- single call to len(st)
- fewer assignments for position tracking
- don't split apart tuple from unpack
- use a literal for the unpack spec
write:
- localize variables and functions
- avoid copied function call
- use % for string concatenation
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:36:38 -0500] rev 5326
dirstate: make dir collision logic faster
- shortcircuit decpath if we haven't built the _dirs map
- increment only for leafnodes of directory tree
(this should make construction more like O(nlog n) than O(n^2))
Matt Mackall <mpm@selenic.com> [Mon, 24 Sep 2007 12:34:26 -0500] rev 5325
Merge with crew
Matt Mackall <mpm@selenic.com> [Fri, 21 Sep 2007 17:25:25 -0500] rev 5324
convert-cvs: update test to pass on Linux
Matt Mackall <mpm@selenic.com> [Fri, 21 Sep 2007 17:18:06 -0500] rev 5323
verify: report first bad changeset
- add linkrev and file arguments to err
- track lowest reported linkrev in err
- find linkrev in a couple cases
- sort linkrevs when reporting a bunch of errors against a file
- tidy up lots of messages
- make more robust against damaged indexes
- report first bad changeset if an error is encountered
Matt Mackall <mpm@selenic.com> [Fri, 21 Sep 2007 17:14:39 -0500] rev 5322
revlog: more robust for damaged indexes
- fix flag reporting
- make broken length reporting smarter
Matt Mackall <mpm@selenic.com> [Fri, 21 Sep 2007 17:13:38 -0500] rev 5321
debugindex: more robust for damaged indexes
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Sep 2007 18:24:19 +0200] rev 5320
revlog: fix inlined revision transaction extra data (issue 749)
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Sep 2007 15:29:58 +0200] rev 5319
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Sep 2007 14:40:44 +0200] rev 5318
Test renaming files brought by merge second parent (issue 746)
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Sep 2007 14:40:44 +0200] rev 5317
localrepo: fix undelete() on merge working directory (issue 746)
Patrick Mezard <pmezard@gmail.com> [Sat, 22 Sep 2007 19:05:36 +0200] rev 5316
bisect: remove useless try/except
Patrick Mezard <pmezard@gmail.com> [Sat, 22 Sep 2007 18:56:36 +0200] rev 5315
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sat, 22 Sep 2007 18:52:26 +0200] rev 5314
Test static-http calls on '/' URI (issue 747)
Paul Bx <pb@e-scribe.com> [Sat, 22 Sep 2007 18:37:35 +0200] rev 5313
statichttprepo: fix calls on '/' URI (issue 747)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 22 Sep 2007 18:35:53 +0200] rev 5312
bisect: don't write data on failure
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 22 Sep 2007 18:23:56 +0200] rev 5311
bisect: do silent init if necessary
Patrick Mezard <pmezard@gmail.com> [Sat, 15 Sep 2007 16:07:05 +0200] rev 5310
debuginstall: stop looking for patch utility, just test it
Brendan Cully <brendan@kublai.com> [Fri, 14 Sep 2007 21:47:40 -0700] rev 5309
Updated zsh completion from issue722.
Patrick Mezard <pmezard@gmail.com> [Fri, 14 Sep 2007 23:10:41 +0200] rev 5308
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Fri, 14 Sep 2007 22:47:15 +0200] rev 5307
convert: test cvs repository conversion
Patrick Mezard <pmezard@gmail.com> [Fri, 14 Sep 2007 22:17:53 +0200] rev 5306
convert: workaround for cvsps.cache under Windows
In non-cygwin environment, cvsps fails to create its cache directory and redirect its output to stderr. Just ignore the error and capture stderr as well.
Patrick Mezard <pmezard@gmail.com> [Fri, 14 Sep 2007 22:17:53 +0200] rev 5305
convert: fix remote cvs file paths separator
Patrick Mezard <pmezard@gmail.com> [Fri, 14 Sep 2007 22:17:53 +0200] rev 5304
convert: avoid interpreting Windows path as CVS connection strings.
CVS connection strings regexp detect colons to separate protocols from path and login. Unfortunately, Windows paths contains colons and were interpreted as rsh connection strings.
Patrick Mezard <pmezard@gmail.com> [Fri, 14 Sep 2007 22:17:53 +0200] rev 5303
convert: call popen2 in binary mode, with a command string.
Patrick Mezard <pmezard@gmail.com> [Fri, 14 Sep 2007 22:17:53 +0200] rev 5302
hghave: detect cvs and cvsps availability
"cvsps -h" was returning 1 in cygwin, probably because CVSROOT was unset, which does not prevent it to work correctly.
Patrick Mezard <pmezard@gmail.com> [Mon, 27 Aug 2007 22:17:51 +0200] rev 5301
hghave: wrap command output matching
Patrick Mezard <pmezard@gmail.com> [Tue, 11 Sep 2007 23:38:29 +0200] rev 5300
Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Tue, 11 Sep 2007 23:05:30 +0200] rev 5299
Test parents behaviour with files.
Patrick Mezard <pmezard@gmail.com> [Tue, 11 Sep 2007 23:04:42 +0200] rev 5298
parents: make it match the doc when called on a file
parents used to return the parent revision of the last revision updating selected file, instead of the updating revision itself.
Brendan Cully <brendan@kublai.com> [Tue, 11 Sep 2007 13:24:52 -0700] rev 5297
Merge with crew-stable
Brendan Cully <brendan@kublai.com> [Tue, 11 Sep 2007 13:23:59 -0700] rev 5296
Document pseudo-tags "null" and ".".
Brendan Cully <brendan@kublai.com> [Mon, 10 Sep 2007 15:00:19 -0700] rev 5295
Merge with crew
Brendan Cully <brendan@kublai.com> [Mon, 10 Sep 2007 15:00:05 -0700] rev 5294
mq: fix regression in 6fd953d5faea
It caused qrefresh; qrefresh -X addedfile to leave the file as normal in dirstate.
It should be marked added on the second pass.
Patrick Mezard <pmezard@gmail.com> [Mon, 10 Sep 2007 23:53:23 +0200] rev 5293
Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 10 Sep 2007 23:34:33 +0200] rev 5292
sshrepo: fix Windows command quoting
Patrick Mezard <pmezard@gmail.com> [Mon, 10 Sep 2007 23:36:01 +0200] rev 5291
extdiff: avoid repr() doubling paths backslashes under Windows