Tue, 15 Jan 2013 01:10:08 +0100 serve: use chunked encoding in hgweb responses
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:10:08 +0100] rev 18354
serve: use chunked encoding in hgweb responses 'hg serve' used to close connections when sending a response with unknown length ... such as a bundle or archive. Now chunked encoding will be used for responses with unknown length, and the connection do thus not have to be closed to indicate the end of the response. Chunked encoding is only used if the length is unknown, if the connection wouldn't be closed for other reasons, AND if it is a HTTP 1.1 request. This will not benefit other users of hgweb ... but it can serve as an example that it can be done.
Tue, 15 Jan 2013 01:10:08 +0100 serve: remove connection close hack for Python 2.3
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:10:08 +0100] rev 18353
serve: remove connection close hack for Python 2.3 Introduced in 276de216d2c5 and no longer needed - BaseHTTPServer handles connection closing just fine if we don't mess with its internals.
Tue, 15 Jan 2013 01:07:03 +0100 hgweb: pass the actual response body to request.response, not just the length
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:07:03 +0100] rev 18352
hgweb: pass the actual response body to request.response, not just the length This makes it less likely to send a response that doesn't match Content-Length.
Tue, 15 Jan 2013 01:05:12 +0100 hgweb: don't pass empty response chunks on
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18351
hgweb: don't pass empty response chunks on hgweb internals will often produce empty writes - especially when returning compressed data. hgweb is no middleware application and there is thus no reason to pass them on to be processed in other layers.
Tue, 15 Jan 2013 01:05:12 +0100 hgweb: remove handling of any else than strings from request.write
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18350
hgweb: remove handling of any else than strings from request.write Iterators should be returned WSGI style, not written. And apparently all of hgweb do that.
Tue, 15 Jan 2013 01:05:12 +0100 serve: send response headers even if response has no body
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18349
serve: send response headers even if response has no body The headers would usually be sent anyway because the app did a number of writes of empty strings.
Tue, 15 Jan 2013 01:05:12 +0100 hgweb: simplify wsgirequest header handling
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18348
hgweb: simplify wsgirequest header handling Remove leaky header abstraction and prepare for other encodings.
Tue, 15 Jan 2013 01:05:12 +0100 hgweb: make type a mandatory parameter to request.respond
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18347
hgweb: make type a mandatory parameter to request.respond There will thus always be headers and the runtime check can be removed.
Tue, 15 Jan 2013 01:05:12 +0100 hgweb: use Content-Length for pushres
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18346
hgweb: use Content-Length for pushres This prevents some unnecessary http connection close.
Tue, 15 Jan 2013 01:05:12 +0100 hgweb: send Content-Length 0 for zero length response
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18345
hgweb: send Content-Length 0 for zero length response Before, Content-Length wasn't sent for 0 length responses. Now it is. This could in principle prevent some unnecessary http connection close.
Tue, 15 Jan 2013 01:05:12 +0100 archival: tarit should never close the dest passed to it
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.
Tue, 15 Jan 2013 01:05:12 +0100 mq: checktoppatch should only check if p1 is qtip
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.
Tue, 15 Jan 2013 01:05:12 +0100 mq: fix qpop of working directory parent patch when not at qtip
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
Tue, 15 Jan 2013 01:05:12 +0100 largefiles: make log match largefiles in the non-standin location too
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.
Tue, 15 Jan 2013 01:05:12 +0100 log: make log work even if first parameter doesn't exist
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.
Tue, 15 Jan 2013 01:05:12 +0100 merge: remove "case" comments
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.
Wed, 09 Jan 2013 02:02:45 +0100 merge: merge file flags together with file content
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.
Tue, 15 Jan 2013 01:05:12 +0100 tests: better test coverage of merges of flags
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.
Thu, 10 Jan 2013 03:40:45 +0100 merge: remove old pre-audit code checking for absolute paths
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.
Thu, 10 Jan 2013 00:45:51 +0100 merge: drop reference to file contents immediately after write
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.
Thu, 10 Jan 2013 00:44:23 +0100 merge: changing the mode of a file is also an update
Mads Kiilerich <mads@kiilerich.com> [Thu, 10 Jan 2013 00:44:23 +0100] rev 18334
merge: changing the mode of a file is also an update It was a change in the file system that wasn't reported in the summaries.
Tue, 15 Jan 2013 01:05:12 +0100 merge: use util.unlinkpath for removing moved files
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18333
merge: use util.unlinkpath for removing moved files - more like how removed files are removed.
Tue, 15 Jan 2013 01:05:12 +0100 merge: .hgsubstate is special as merge destination, not as merge source
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:12 +0100] rev 18332
merge: .hgsubstate is special as merge destination, not as merge source
Wed, 09 Jan 2013 00:01:33 +0100 merge: remove redundant unlink after merge
Mads Kiilerich <mads@kiilerich.com> [Wed, 09 Jan 2013 00:01:33 +0100] rev 18331
merge: remove redundant unlink after merge The early prescan for move/remove and removal of moved files in applyupdates was introduced with mergestate 368a4ec603cc and rendered this chunk of code irrelevant. The impact of the chunk was reduced in 5b3383ea67d2 - but it could have been removed completely.
Wed, 09 Jan 2013 00:01:33 +0100 merge: rename list of actions from action to actions
Mads Kiilerich <mads@kiilerich.com> [Wed, 09 Jan 2013 00:01:33 +0100] rev 18330
merge: rename list of actions from action to actions
Wed, 09 Jan 2013 00:01:33 +0100 merge: consistently use "x" instead of 'x' for internal action types
Mads Kiilerich <mads@kiilerich.com> [Wed, 09 Jan 2013 00:01:33 +0100] rev 18329
merge: consistently use "x" instead of 'x' for internal action types This makes it simpler to search for places where the action types are handled.
Wed, 09 Jan 2013 00:01:33 +0100 merge: consistently use repo.wopener.audit instead of creating a new auditor
Mads Kiilerich <mads@kiilerich.com> [Wed, 09 Jan 2013 00:01:33 +0100] rev 18328
merge: consistently use repo.wopener.audit instead of creating a new auditor
Wed, 09 Jan 2013 00:01:33 +0100 scmutil: simplify vfs.audit - drop wrapped vfs.auditor
Mads Kiilerich <mads@kiilerich.com> [Wed, 09 Jan 2013 00:01:33 +0100] rev 18327
scmutil: simplify vfs.audit - drop wrapped vfs.auditor
Thu, 10 Jan 2013 00:44:23 +0100 util: copyfile: remove dest before copying
Mads Kiilerich <mads@kiilerich.com> [Thu, 10 Jan 2013 00:44:23 +0100] rev 18326
util: copyfile: remove dest before copying This prevents spurious problems writing to locked files on Windows.
Tue, 15 Jan 2013 01:05:11 +0100 merge: warn when internal:merge cannot merge symlinks
Mads Kiilerich <mads@kiilerich.com> [Tue, 15 Jan 2013 01:05:11 +0100] rev 18325
merge: warn when internal:merge cannot merge symlinks A follow-up to d084df89d948. internal:merge should never be picked for merging symlinks ... but in the test suite we have HGMERGE="internal:merge" which bypasses all the usual merge-tool cleverness. Without any output it can be hard to figure out what happened and where the problem is.
Mon, 14 Jan 2013 10:17:06 -0600 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 14 Jan 2013 10:17:06 -0600] rev 18324
merge with stable
Mon, 14 Jan 2013 23:14:45 +0900 histedit: correct the number of added revisions in online help stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 14 Jan 2013 23:14:45 +0900] rev 18323
histedit: correct the number of added revisions in online help In the context of help document on which this patch focuses, the example repository, which is source of cloning, should be already histedit-ed, and contain only 3 revisions (rev # 0 to 2). So, not 3, but 4 revisions should be added to the destination repository of cloning, if it contains 7 revisions (rev # 0 to 6). This patch also adds modifier "histedit-ed" to "example repository", to make context clear.
(0) -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 +10000 +30000 tip