hgext/win32text.py
author Brendan Cully <brendan@kublai.com>
Wed, 11 Oct 2006 12:06:14 -0700
changeset 3333 9061613c1593
parent 1300 e58b1c9a0dec
child 4848 30762680fcd2
permissions -rw-r--r--
Teach bdiff to support buffer objects manifest.add gives revlog.addrevision a buffer object, which may be cached and used for a second call in the same session (as mq does when pushing multiple patches). The other option would be to cast the buffer to str when caching it.

import mercurial.util

def dumbdecode(s, cmd):
    return s.replace('\n', '\r\n')

def dumbencode(s, cmd):
    return s.replace('\r\n', '\n')

def clevertest(s, cmd):
    if '\0' in s: return False
    return True

def cleverdecode(s, cmd):
    if clevertest(s, cmd):
        return dumbdecode(s, cmd)
    return s

def cleverencode(s, cmd):
    if clevertest(s, cmd):
        return dumbencode(s, cmd)
    return s

mercurial.util.filtertable.update({
    'dumbdecode:': dumbdecode,
    'dumbencode:': dumbencode,
    'cleverdecode:': cleverdecode,
    'cleverencode:': cleverencode,
    })