hgext/win32text.py
author Thomas Arendsen Hein <thomas@intevation.de>
Sat, 01 Apr 2006 21:37:08 +0200
changeset 2033 e3280d350792
parent 1300 e58b1c9a0dec
child 4858 30762680fcd2
permissions -rw-r--r--
Group changes done by the same developer on the same with --style=changelog Changeset and tags are appended to the change message for non-quiet and non-verbose output, so grouping works. Fixes last bit of issue110.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1297
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     1
import mercurial.util
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     2
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     3
def dumbdecode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     4
    return s.replace('\n', '\r\n')
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     5
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     6
def dumbencode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     7
    return s.replace('\r\n', '\n')
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     8
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     9
def clevertest(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    10
    if '\0' in s: return False
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    11
    return True
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    12
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    13
def cleverdecode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    14
    if clevertest(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    15
        return dumbdecode(s, cmd)
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    16
    return s
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    17
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    18
def cleverencode(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    19
    if clevertest(s, cmd):
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    20
        return dumbencode(s, cmd)
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
    return s
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    22
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    23
mercurial.util.filtertable.update({
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    24
    'dumbdecode:': dumbdecode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    25
    'dumbencode:': dumbencode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
    'cleverdecode:': cleverdecode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    27
    'cleverencode:': cleverencode,
496074e0a38b Add win32text extension module.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    28
    })