hg
author Patrick Mezard <pmezard@gmail.com>
Sat, 10 Nov 2007 21:30:59 +0100
changeset 5531 a3fe91b4f6eb
parent 5197 55860a45bbf2
child 7672 523c7816c33a
permissions -rwxr-xr-x
Change standard streams mode to binary at hg startup Standard streams are expected to operate in binary mode everywhere, especially with archive, cat, diff and export commands. Rewriting these to separate informational output from binary content is complicated to do and to maintain, nonwithstanding mode switching reliability. Changing all output mode to binary should not have much impact on Windows were stream processing tools are barely used and usually cope with unix style endings. Streams mode being process wide, the switch is performed in the startup script to avoid polluting existing API users who may have solved this issue already or ignored it at least for the mercurial part.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     1
#!/usr/bin/env python
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     2
#
1698
ad4a2eefe4d7 Update copyright notice
Matt Mackall <mpm@selenic.com>
parents: 515
diff changeset
     3
# mercurial - scalable distributed SCM
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     4
#
4635
63b9d2deed48 Updated copyright notices and add "and others" to "hg version"
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3877
diff changeset
     5
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     6
#
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     7
# This software may be used and distributed according to the terms
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     8
# of the GNU General Public License, incorporated herein by reference.
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     9
5197
55860a45bbf2 Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5178
diff changeset
    10
# enable importing on demand to reduce startup time
55860a45bbf2 Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5178
diff changeset
    11
from mercurial import demandimport; demandimport.enable()
55860a45bbf2 Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5178
diff changeset
    12
5531
a3fe91b4f6eb Change standard streams mode to binary at hg startup
Patrick Mezard <pmezard@gmail.com>
parents: 5197
diff changeset
    13
import sys
a3fe91b4f6eb Change standard streams mode to binary at hg startup
Patrick Mezard <pmezard@gmail.com>
parents: 5197
diff changeset
    14
import mercurial.util
5178
18a9fbb5cd78 dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents: 4635
diff changeset
    15
import mercurial.dispatch
5531
a3fe91b4f6eb Change standard streams mode to binary at hg startup
Patrick Mezard <pmezard@gmail.com>
parents: 5197
diff changeset
    16
a3fe91b4f6eb Change standard streams mode to binary at hg startup
Patrick Mezard <pmezard@gmail.com>
parents: 5197
diff changeset
    17
for fp in (sys.stdin, sys.stdout, sys.stderr):
a3fe91b4f6eb Change standard streams mode to binary at hg startup
Patrick Mezard <pmezard@gmail.com>
parents: 5197
diff changeset
    18
    mercurial.util.set_binary(fp)
a3fe91b4f6eb Change standard streams mode to binary at hg startup
Patrick Mezard <pmezard@gmail.com>
parents: 5197
diff changeset
    19
5178
18a9fbb5cd78 dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents: 4635
diff changeset
    20
mercurial.dispatch.run()