chiark
/
gitweb
/
~mdw
/
rsync-backup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rsync-backup.in: Missing `NAME' section.
[rsync-backup]
/
fshash.in
diff --git
a/fshash.in
b/fshash.in
index 1dbd8befd0743d986e1bba99f15cdf70a4b8ffbe..4f8b1c76e954811ba2ee13d77ff92e85b16bf285 100644
(file)
--- a/
fshash.in
+++ b/
fshash.in
@@
-98,10
+98,15
@@
def enum_walk(file, func):
dir([OS.path.join(d.name, e) for e in dirents(d.name)], dev)
if file.endswith('/'):
dir([OS.path.join(d.name, e) for e in dirents(d.name)], dev)
if file.endswith('/'):
- OS.chdir(file)
- fi = FileInfo('.')
- func(fi)
- dir(dirents('.'), fi.st.st_dev)
+ cwd = OS.open('.', OS.O_RDONLY)
+ try:
+ OS.chdir(file)
+ fi = FileInfo('.')
+ func(fi)
+ dir(dirents('.'), fi.st.st_dev)
+ finally:
+ OS.fchdir(cwd)
+ OS.close(cwd)
else:
fi = FileInfo(file)
func(fi)
else:
fi = FileInfo(file)
func(fi)
@@
-348,7
+353,7
@@
class GenericFormatter (object):
tm = T.gmtime(t)
return T.strftime('%Y-%m-%dT%H:%M:%SZ', tm)
def _enc_name(me, n):
tm = T.gmtime(t)
return T.strftime('%Y-%m-%dT%H:%M:%SZ', tm)
def _enc_name(me, n):
- return
n.encode('string_escape'
)
+ return
' \\-> '.join(n.encode('string_escape').split(' -> ')
)
def name(me):
return me._enc_name(me.fi.name)
def info(me):
def name(me):
return me._enc_name(me.fi.name)
def info(me):