Fri, 05 Oct 2007 09:30:02 -0700 run-tests.py: reorder options alphabetically.
Bryan O'Sullivan <bos@serpentine.com> [Fri, 05 Oct 2007 09:30:02 -0700] rev 5383
run-tests.py: reorder options alphabetically.
Thu, 04 Oct 2007 23:21:37 -0300 convert_svn: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 04 Oct 2007 23:21:37 -0300] rev 5382
convert_svn: add --filemap support
Thu, 04 Oct 2007 23:21:37 -0300 convert_cvs: 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
Thu, 04 Oct 2007 23:21:37 -0300 convert_git: 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
Thu, 04 Oct 2007 23:21:37 -0300 mercurial_source: 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
Thu, 04 Oct 2007 23:21:37 -0300 convert: add a mode where mercurial_sink skips empty revisions.
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.
Thu, 04 Oct 2007 23:21:37 -0300 convert: readd --filemap
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.
Thu, 04 Oct 2007 23:21:37 -0300 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 5376
convert: move filemapper class to a separate file
Thu, 04 Oct 2007 23:21:37 -0300 convert: disable current --filemap support
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.)
Thu, 04 Oct 2007 23:21:37 -0300 convert: allow the converter_source to say "skip this 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.
Thu, 04 Oct 2007 23:21:37 -0300 convert: pass the order of the revmapfile to the converter_source
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.
Thu, 04 Oct 2007 19:47:22 -0500 Merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 04 Oct 2007 19:47:22 -0500] rev 5372
Merge with crew
Thu, 04 Oct 2007 19:44:37 -0500 merge: add debug diagnostics for findcopies
Matt Mackall <mpm@selenic.com> [Thu, 04 Oct 2007 19:44:37 -0500] rev 5371
merge: add debug diagnostics for findcopies
Wed, 03 Oct 2007 17:17:28 -0500 changegroup: avoid large copies
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
Wed, 03 Oct 2007 17:17:27 -0500 revlog: generate trivial deltas against null revision
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.
Wed, 03 Oct 2007 16:50:32 -0500 Merge with crew
Matt Mackall <mpm@selenic.com> [Wed, 03 Oct 2007 16:50:32 -0500] rev 5368
Merge with crew
Tue, 02 Oct 2007 18:04:18 -0500 Merge with crew
Matt Mackall <mpm@selenic.com> [Tue, 02 Oct 2007 18:04:18 -0500] rev 5367
Merge with crew
Thu, 27 Sep 2007 23:59:18 -0500 bdiff: switch to lyhash
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.
Thu, 27 Sep 2007 23:59:02 -0500 bdiff: use INT_MAX to avoid some inner loop comparisons
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
Thu, 27 Sep 2007 23:58:54 -0500 bdiff: simple splitlines optimization
Christoph Spiel <cspiel@freenet.de> [Thu, 27 Sep 2007 23:58:54 -0500] rev 5364
bdiff: simple splitlines optimization
Thu, 27 Sep 2007 23:57:57 -0500 I have spotted the biggest bottleneck in "bdiff.c". Actually it was
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.
Thu, 04 Oct 2007 14:26:34 +0200 Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Thu, 04 Oct 2007 14:26:34 +0200] rev 5362
Merge with crew-stable
Thu, 04 Oct 2007 14:23:28 +0200 test-convert-git: support older git client (1.4.4.4)
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)
Wed, 03 Oct 2007 21:08:37 +0200 Merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Wed, 03 Oct 2007 21:08:37 +0200] rev 5360
Merge with crew-stable
Wed, 03 Oct 2007 21:01:47 +0200 test-convert-cvs: handle older cvs client
Christian Ebert <blacktrash@gmx.net> [Wed, 03 Oct 2007 21:01:47 +0200] rev 5359
test-convert-cvs: handle older cvs client
Tue, 02 Oct 2007 21:01:00 -0700 Merge with crew
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 21:01:00 -0700] rev 5358
Merge with crew
Tue, 02 Oct 2007 21:00:38 -0700 convert: fix a few residual bugs in darcs importer
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
Tue, 02 Oct 2007 13:49:36 -0700 Merge with crew.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 13:49:36 -0700] rev 5356
Merge with crew.
Tue, 02 Oct 2007 13:49:11 -0700 convert: support darcs as a source repo
Bryan O'Sullivan <bos@serpentine.com> [Tue, 02 Oct 2007 13:49:11 -0700] rev 5355
convert: support darcs as a source repo
Tue, 02 Oct 2007 13:48:52 -0700 convert: fail properly if we can't read a source hg repository
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
(0) -3000 -1000 -300 -100 -50 -30 +30 +50 +100 tip