Hollis Blanchard <hollisb@us.ibm.com> [Thu, 01 Nov 2007 17:15:50 -0500] rev 5483
Handle patches with misformatted empty lines
Insert a space on empty lines which are missing a control character.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
---
I frequently receive emailed patches with empty lines represented as "\n\n",
where Mercurial expects them to be "\n \n". patch(1) applies these patches
without complaint, but qpush fails all hunks.
Dustin Sallings <dustin@spy.net> [Thu, 01 Nov 2007 12:17:59 -0700] rev 5482
Use both the from and to name in mdiff.unidiff.
This fixes a compatibility issue with git diffs.
* * *
Patrick Mezard <pmezard@gmail.com> [Thu, 01 Nov 2007 12:05:14 +0100] rev 5481
Fix Windows os.popen bug with interleaved stdout/stderr output
See python bug 1366 "popen spawned process may not write to stdout under windows" for more details.
Elliott Peele <elliot@rpath.com> [Tue, 30 Oct 2007 16:54:25 -0700] rev 5480
https url handling: usernames and passwords were registered to the wrong url
Christian Ebert <blacktrash@gmx.net> [Sun, 28 Oct 2007 09:25:35 +0100] rev 5479
patchbomb: no traceback if (diffstat) confirmation is refused
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 26 Oct 2007 12:01:14 +0200] rev 5478
patchbomb: fix traceback when diffstat isn't available
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 25 Oct 2007 19:40:56 +0200] rev 5477
Only set mode of new patch if the target file was removed before.
If the file is writable by the user, but owned by a different user, the
chmod will otherwise fail with "Operation not permitted".
Additionally make very sure that the file is only written if either the number
of links is <= 1 or the file was successfully removed.
Maybe this minimal COW code should be replaced by something from util.
Sebastian Hauer <sebastian.hauer@gmail.com> [Wed, 24 Oct 2007 22:15:45 +0200] rev 5476
httprepo: ignore environment proxies when proxies are disabled
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 20 Oct 2007 03:04:34 +0200] rev 5475
gpg: use the same log message format as hg tag
Matt Mackall <mpm@selenic.com> [Fri, 19 Oct 2007 18:25:28 -0500] rev 5474
Added signature for changeset 23889160905a1b09fffe1c07378e9fc1827606eb
Matt Mackall <mpm@selenic.com> [Fri, 19 Oct 2007 18:25:24 -0500] rev 5473
Added tag 0.9.5 for changeset 23889160905a
Christian Ebert <blacktrash@gmx.net> [Fri, 07 Sep 2007 16:48:42 +0200] rev 5472
Catch smtp exceptions
Jim Hague <jim.hague@acm.org> [Fri, 19 Oct 2007 19:20:33 +0000] rev 5471
tests: make test-mq-guards work with ksh
Matt Mackall <mpm@selenic.com> [Fri, 19 Oct 2007 12:53:43 -0500] rev 5470
tests: tidy up reporting of skipped tests
if not verbose:
- print 's' rather than '.'
- pass skipped test reports back to parent for -j
- report which tests were skipped at the end
- print '.' after test completion
Steve Borho <steve@borho.org> [Tue, 18 Sep 2007 19:53:01 -0500] rev 5469
Allow explicit disabling of extensions
If the first character of an extension path is '!', the extension
is silently skipped.
NIIMI Satoshi <sa2c@sa2c.net> [Thu, 11 Oct 2007 06:13:17 +0900] rev 5468
mq.el: define keymaps as convensions
NIIMI Satoshi <sa2c@sa2c.net> [Thu, 11 Oct 2007 06:10:45 +0900] rev 5467
mercurial.el: mark-marker() returns non-nil with no active mark on GNU Emacs
NIIMI Satoshi <sa2c@sa2c.net> [Thu, 11 Oct 2007 06:01:30 +0900] rev 5466
mq.el: declare variable mq-top
NIIMI Satoshi <sa2c@sa2c.net> [Thu, 11 Oct 2007 05:58:54 +0900] rev 5465
mercurial.el, mq.el: remove runtime dependencies on CL package
* (require 'cl) at compile-time
* don't use map()
Georg.Koltermann@mscsoftware.com [Thu, 12 Apr 2007 13:11:30 +0200] rev 5464
hgk: colorize commits by authors
Color commits by author. Colors will be assigned to authors by using a configurable list of colors. The line corresponding to current id (the version currently in the working tree) is highlighted in a special font which is also configurable. There is provision to assign fixed colors to authors. See .gitk comment for details.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 15 Oct 2007 12:57:01 -0700] rev 5463
osutil: use fdopendir instead of dirfd
Kirill Smelkov <kirr@landau.phys.spbu.ru> [Sat, 13 Oct 2007 15:25:11 +0400] rev 5462
convert: svn -- fix tags handling
They were simply not detected.
Kirill Smelkov <kirr@landau.phys.spbu.ru> [Sat, 13 Oct 2007 15:22:03 +0400] rev 5461
convert: svn -- fix 'exists'
Previously 'exists' erroneously returned False for empty dirictories. This is
wrong since we want to detect even empty 'branches/' or 'tags/'.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 12 Oct 2007 11:23:03 +0200] rev 5460
merge with goto
Shun-ichi GOTO <shunichi.goto@gmail.com> [Fri, 12 Oct 2007 11:46:49 +0900] rev 5459
mpatch: Define Py_ssize_t for old pythons and use it instead of ssize_t.
See also PEP 353.
NOTE: Microsoft compilers (8 or earlier) does not have ssize_t.
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 17:47:04 -0500] rev 5458
mpatch: use int rather than ssize_t
We might need to be more clever than this to make Py2.5 happy.
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 17:46:06 -0500] rev 5457
osutil: improve portability
- manually inline mode_to_kind
- remove unused alloca include
- remove fstatat and associated bits
It's not obvious that there's an advantage to using fstatat in terms
of performance. The race-avoidance properties of fstatat aren't
terribly useful to us either. So best to avoid it until we figure out
how to use it portably.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 11 Oct 2007 16:28:30 +0200] rev 5456
fix typo
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 11 Oct 2007 16:26:14 +0200] rev 5455
import gettext since '_' is used
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 11 Oct 2007 16:19:12 +0200] rev 5454
explicitely use integer division
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 11 Oct 2007 12:16:55 +0200] rev 5453
fix UnboundLocalError, refactor a bit
bin wasn't defined in all branches (bug introduced in 82b4ff3abbcd
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:56 -0500] rev 5452
bdiff: tweaks for large files
- adjust the common line threshold to .1%
this speeds up a delta of 7M lines of source from 10m to 40s
- adjust the scaling of the hash array down a bit as it was raising the peak
memory usage significantly
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:54 -0500] rev 5451
revlog: break up compression of large deltas
Python's zlib apparently makes an internal copy of strings passed to
compress(). To avoid this, compress strings 1M at a time, then join
them at the end if the result would be smaller than the original.
For initial commits of large but compressible files, this cuts peak
memory usage nearly in half.
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:53 -0500] rev 5450
revlog: fix caching of buffer objects
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:52 -0500] rev 5449
chunkiter: handle large reads more efficiently
- for large reads, don't attempt to read more than necessary
- if we've gathered the exact number of bytes needed, avoid a string copy
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:51 -0500] rev 5448
revlog: avoid large yields in group()
Split large yields so that the downstream consumer (chunkbuffer) will avoid
some pain when reading ahead.
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:49 -0500] rev 5447
chunkiter: simplify iter logic
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:48 -0500] rev 5446
chunkbuffer: removed unused method and arg
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:47 -0500] rev 5445
revlog: reduce memory usage in addgroup
- use a buffer to extract the delta from a chunk
- avoid concatenating to a compressed delta
- use a buffer to directly extra full text from a trivial delta
- delete chunk and delta objects after use
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:45 -0500] rev 5444
mpatch: allow buffer objects for input
Matt Mackall <mpm@selenic.com> [Thu, 11 Oct 2007 00:46:40 -0500] rev 5443
Merge with crew
Those crew folks are getting lazy about pulling from upstream before
committing.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 10 Oct 2007 15:48:08 -0700] rev 5442
test-convert-darcs: don't let $HOME/.darcs pollute the test environment
Bryan O'Sullivan <bos@serpentine.com> [Wed, 10 Oct 2007 15:42:00 -0700] rev 5441
convert: refactor sink initialisation, to remove hardcoding of hg
We also introduce options to explicitly set the source and destination
repository types.
Improve testing of corner cases a little.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 10 Oct 2007 15:30:00 -0700] rev 5440
convert: add default constructor for converter_sink
Bryan O'Sullivan <bos@serpentine.com> [Wed, 10 Oct 2007 15:30:00 -0700] rev 5439
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.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 10 Oct 2007 15:30:00 -0700] rev 5438
convert: rename convert_svn to svn_source
Bryan O'Sullivan <bos@serpentine.com> [Wed, 10 Oct 2007 00:15:33 -0700] rev 5437
convert: report errors more meaningfully if run with --traceback
Matt Mackall <mpm@selenic.com> [Tue, 09 Oct 2007 17:44:44 -0500] rev 5436
Merge with crew
Bryan O'Sullivan <bos@serpentine.com> [Tue, 09 Oct 2007 08:39:37 -0700] rev 5435
osutil: Solaris build fix
Matt Mackall <mpm@selenic.com> [Tue, 09 Oct 2007 17:25:24 -0500] rev 5434
Merge with -stable
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:22 -0500] rev 5433
findcopies: fix rename bug
We've fiddled with this line several times, and an old bug has
reappeared from it. Let's take a peek at the history.
The original "or" (rev 3674, in 0.9.2 and 0.9.3):
http://www.selenic.com/hg/rev/9103dab96093
Then I changed it to an "and" to fix a bug (rev 4304):
http://www.selenic.com/hg/rev/4787e2b0dd03
Then for reasons now lost in the mists of time, I dropped half (rev 4399):
http://www.selenic.com/hg/rev/93652499bed3
Then we added back the "or" (rev 4416, in 0.9.4):
http://www.selenic.com/hg/rev/bb1800a7d7e1
So it seems it ought to be "and".
Matt Mackall <mpm@selenic.com> [Tue, 09 Oct 2007 17:22:38 -0500] rev 5432
mq: clarify queue top message
Bryan O'Sullivan <bos@serpentine.com> [Mon, 08 Oct 2007 22:45:48 -0700] rev 5431
Fix build error with Sun C compiler.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 08 Oct 2007 21:37:25 -0300] rev 5430
osutil.c: use strncpy instead of strncat
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:22 -0500] rev 5429
findcopies: fix rename bug
We've fiddled with this line several times, and an old bug has
reappeared from it. Let's take a peek at the history.
The original "or" (rev 3674, in 0.9.2 and 0.9.3):
http://www.selenic.com/hg/rev/9103dab96093
Then I changed it to an "and" to fix a bug (rev 4304):
http://www.selenic.com/hg/rev/4787e2b0dd03
Then for reasons now lost in the mists of time, I dropped half (rev 4399):
http://www.selenic.com/hg/rev/93652499bed3
Then we added back the "or" (rev 4416, in 0.9.4):
http://www.selenic.com/hg/rev/bb1800a7d7e1
So it seems it ought to be "and".
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:21 -0500] rev 5428
osutil: more tidying
- do_stat -> keep_stat
- all_kinds -> !need_stat
- simplify main error logic
- reorder declarations
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:18 -0500] rev 5427
osutil: move file list loop to its own function
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:17 -0500] rev 5426
osutil: simplify DT_REG support
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:16 -0500] rev 5425
osutils: pull file stat loop into its own function
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:15 -0500] rev 5424
osutil: fold stat paths together
- simplify st/py_st logic
- use stp to point to stat buffer
- combine stat paths
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:14 -0500] rev 5423
osutil: more cleanups
- eliminate a level of nesting
- untab targets of gotos
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:12 -0500] rev 5422
osutil: eliminate alloca call
- make full_path a PATH_MAX + epsilon local buffer
- use strncpy and strncat
Matt Mackall <mpm@selenic.com> [Mon, 08 Oct 2007 18:47:06 -0500] rev 5421
osutil: cleanups
- use tabs
- eliminate old-style function pointer calls
- eliminate weird scoping
- eliminate assignment-in-iff
- use !foo rather than foo == NULL
Rafael Villar Burke <pachi@rvburke.com> [Fri, 05 Oct 2007 01:52:53 +0200] rev 5420
Execution bit detection fixes for VFAT on Linux
On Linux VFAT execution mode can be modified, but changes don't
persist a filesy stem remount. The current test can be trickled by
this. We can help with the det ection of VFAT checking whether new
files get created with the execution bits on
(as usually these partitions are mounted with the exec option, for
convenience)
.
Christian Ebert <blacktrash@gmx.net> [Wed, 12 Sep 2007 12:54:36 +0200] rev 5419
churn: simplify code to get terminal width
Patrick Mezard <pmezard@gmail.com> [Mon, 08 Oct 2007 22:20:23 +0200] rev 5418
patch: fix git sendmail handling without proper mail headers
TK Soh <teekaysoh@yahoo.com> [Mon, 08 Oct 2007 11:18:34 +0800] rev 5417
hgk: allow any extdiff command for visual diff
Giorgos Keramidas <keramida@ceid.upatras.gr> [Sun, 07 Oct 2007 21:56:36 +0300] rev 5416
osutil.c: style fix - delete trailing end-of-line spaces
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 07 Oct 2007 20:45:10 +0200] rev 5415
convert: do not output when trying to load svn bindings
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 07 Oct 2007 20:44:54 +0200] rev 5414
convert: split converters into sink/source
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Oct 2007 19:03:32 +0200] rev 5413
Test darcs converter
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Oct 2007 18:59:03 +0200] rev 5412
convert: fix darcs_source.pull() under windows
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Oct 2007 18:58:54 +0200] rev 5411
convert: fix darcs_source._run() under windows
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Oct 2007 18:58:44 +0200] rev 5410
hghave: detect darcs client
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Oct 2007 18:58:36 +0200] rev 5409
hghave: reorder check functions and entries
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Oct 2007 15:13:50 +0200] rev 5408
Test workingctx exec/link bit for copies.
Also, make the test runnable on platforms without symlinks.
Patrick Mezard <pmezard@gmail.com> [Sun, 07 Oct 2007 15:07:35 +0200] rev 5407
Fix workingctx exec/link bit of copies on non-supporting systems
Patrick Mezard <pmezard@gmail.com> [Sat, 06 Oct 2007 22:30:24 +0200] rev 5406
test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com> [Sat, 06 Oct 2007 22:30:22 +0200] rev 5405
Display symlink or executable bit with manifest -v
New output looks like:
644 a
755 * b/a
644 @ l
Patrick Mezard <pmezard@gmail.com> [Sat, 06 Oct 2007 21:19:06 +0200] rev 5404
convert: quote "^" to avoid windows using it as an escape char.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 06 Oct 2007 15:30:15 -0300] rev 5403
Always copy the necessary files before applying a git patch
This patch removes the "copymod" attribute from the gitpatch
class.
AFAICS, that attribute was only used to delay the copying of
renamed/copied files if there are no other changes to the target,
but in this case, if there are changes to the source, we'll end
up copying the wrong version.
This should fix issue762.
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