Sun, 13 Dec 2015 20:07:19 +0900 cmdutil: do not duplicate stdout by makefileobj()
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 20:07:19 +0900] rev 27419
cmdutil: do not duplicate stdout by makefileobj() It made output order unpredictable because two separate buffers are flushed individually. Let's use a thin wrapper that just sends close() to black hole.
Sun, 13 Dec 2015 20:01:11 +0900 cmdutil: reimplement file wrapper that disables close()
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 20:01:11 +0900] rev 27418
cmdutil: reimplement file wrapper that disables close() There's no need to dynamically create wrappedfileobj class and define close() as lambda. Also, __iter__() was missing.
Sun, 13 Dec 2015 19:57:54 +0900 export: remove useless comparison between file object and string
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 19:57:54 +0900] rev 27417
export: remove useless comparison between file object and string It was introduced at 31aa2e5b0750, where "template" argument could be a file object. After that, a306837f8c87 added "len(template)", so "template" must be a string now. Therefore, "fp != template" should always be True. It seems 31aa2e5b0750 was intended to work around a bug in TortoiseHg, and I'm sure I've fixed it completely in TortoiseHg source. https://selenic.com/pipermail/mercurial-devel/2011-February/028467.html
Sun, 13 Dec 2015 19:47:46 +0900 export: do not print '<fdopen>' as an output filename
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 19:47:46 +0900] rev 27416
export: do not print '<fdopen>' as an output filename Because makefileobj() duplicates or wraps stdout, "fp != sys.stdout" didn't work correctly. Python doc states that special file objects are named in the form '<...>', and absolute filenames should never start with '<', we can ignore names start with '<'. We can't test fp.fileno() because fp may be a command-server channel. https://docs.python.org/2.7/library/stdtypes.html#file.name In the test output, "exporting patch:" line is printed after patch content. This is caused by fdopen() and will be fixed by the subsequent patch.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -4 +4 +10 +30 +100 +300 +1000 +3000 +10000 tip