Mercurial > hg > mercurial-crew-with-dirclash
annotate hgext/win32text.py @ 1504:0fcdd126642d
fix file opening for some commands on Windows
Using file as opener in debug commands won't work on Windows, as the
index and data files needs to be opened in binary mode.
author | Christian Boos <cboos@neuf.fr> |
---|---|
date | Thu, 03 Nov 2005 14:24:07 -0800 |
parents | e58b1c9a0dec |
children | 30762680fcd2 |
rev | line source |
---|---|
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 }) |