Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18344
archival: tarit should never close the dest passed to it
Some archive types closed the open file passed to it, some didn't.
This could cause either missing or duplicate close and cause problems in hgweb.
The fix in 14f3795a5ed7 should only have closed the compressors and archivers -
not the underlying file itself if no compressor is used.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18343
mq: checktoppatch should only check if p1 is qtip
There is no way qtip in p2 could be used for anything, and there is thus no
reason to check and accept it.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18342
mq: fix qpop of working directory parent patch when not at qtip
mq assumed that it had to update from qtip to qparent, and instead of updating
from where it was it failed with:
abort: working directory revision is not qtip
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18341
largefiles: make log match largefiles in the non-standin location too
Yet another match hack.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18340
log: make log work even if first parameter doesn't exist
A slowpath optimization kicked in too often because of wrong indentation.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18339
merge: remove "case" comments
The comments introduced in f05c182430a0 seems important ... but the context has
apparently been lost and they do not have any value now.
Mads Kiilerich <mads@kiilerich.com> [Wed, 09 Jan 2013 02:02:45 +0100] rev 18338
merge: merge file flags together with file content
The 'x' flag and the 'l' flag are very different. It is usually not a problem
to change the 'x' flag of a normal file independent of the content, but one
does not simply change the type of a file to 'l' independent of the content.
This removes the fmerge function that merged both 'x' and 'l' independent of
content early in the merge process. This correctly introduces some conflicts
instead of silent incorrect merges. 3-way flag merge will now be done in the
resolve process, right next to file content merge. Conflicts can thus be
resolved with (slightly inconvenient) resolve commands like 'resolve f --tool
internal:other'. It thus brings us closer to be able to re-solve manifest merge
after the merge and avoid prompts during merge.
This also removes the "conflicting flags for a - (n)one, e(x)ec or sym(l)ink?"
prompt that nobody could answer and that made it easy to mix symlink targets
and file contents up. Instead it will give a file merge where a sufficiently
clever merge tool can help resolving the issue.
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18337
tests: better test coverage of merges of flags
This makes existing problems with merges of symlinks and files more obvious and
add test coverage for tricky merges without real common ancestors.
Mads Kiilerich <mads@kiilerich.com> [Thu, 10 Jan 2013 03:40:45 +0100] rev 18336
merge: remove old pre-audit code checking for absolute paths
Audit will handle this in a more elegant way.
Mads Kiilerich <mads@kiilerich.com> [Thu, 10 Jan 2013 00:45:51 +0100] rev 18335
merge: drop reference to file contents immediately after write
Like 7d2aaeea67ed this reduces memory usage on large merges.