hgext/win32text.py
author Matt Mackall <mpm@selenic.com>
Fri, 01 Jun 2007 18:40:14 -0500
changeset 4478 b2b55acbacdd
parent 1300 e58b1c9a0dec
child 4848 30762680fcd2
permissions -rw-r--r--
Add support for url#id syntax This allows you to do: hg clone http://server/repo#stable which is equivalent to: hg clone -r stable http://server/repo Future incoming, outgoing, and push commands will default to using this id because it's recorded in the default path. Other commands that accept URLs (push, pull, bundle, incoming, and outgoing) also accept this syntax.
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
    })