summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2004-05-31 22:20:54 +0000
committerbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2004-05-31 22:20:54 +0000
commit46fa1efb5620dfff72362926cb80e432c1f464da (patch)
tree0def08e22d11e365c99ea2e56859613af481cc16
parentb81f5c4c0a2dec44833b1ef2db7beb0ef653fa86 (diff)
downloadrdiff-backup-46fa1efb5620dfff72362926cb80e432c1f464da.tar.gz
Fix for user/group error. Problem was scoping of '%' vs 'or'!
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@549 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
-rw-r--r--rdiff-backup/CHANGELOG2
-rw-r--r--rdiff-backup/rdiff_backup/metadata.py8
2 files changed, 6 insertions, 4 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 5b94f39..69b7653 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -19,6 +19,8 @@ Fixed bug which could cause crash when backing up 3 or more hard
linked files and the first gets deleted during processing. (Thanks to
Dean Gaudet for bug report.)
+Fixed user/group restoring error noticed by Fran Firman.
+
New in v0.13.4 (2004/01/31)
---------------------------
diff --git a/rdiff-backup/rdiff_backup/metadata.py b/rdiff-backup/rdiff_backup/metadata.py
index fd6b7ed..8b261a7 100644
--- a/rdiff-backup/rdiff_backup/metadata.py
+++ b/rdiff-backup/rdiff_backup/metadata.py
@@ -138,9 +138,9 @@ def RORP2Record(rorpath):
# Add user, group, and permission information
uid, gid = rorpath.getuidgid()
str_list.append(" Uid %s\n" % uid)
- str_list.append(" Uname %s\n" % rorpath.getuname() or ":")
+ str_list.append(" Uname %s\n" % (rorpath.getuname() or ":"))
str_list.append(" Gid %s\n" % gid)
- str_list.append(" Gname %s\n" % rorpath.getgname() or ":")
+ str_list.append(" Gname %s\n" % (rorpath.getgname() or ":"))
str_list.append(" Permissions %s\n" % rorpath.getperms())
return "".join(str_list)
@@ -177,10 +177,10 @@ def Record2RORP(record_string):
elif field == "Uid": data_dict['uid'] = int(data)
elif field == "Gid": data_dict['gid'] = int(data)
elif field == "Uname":
- if data == ":": data_dict['uname'] = None
+ if data == ":" or data == 'None': data_dict['uname'] = None
else: data_dict['uname'] = data
elif field == "Gname":
- if data == ':': data_dict['gname'] = None
+ if data == ':' or data == 'None': data_dict['gname'] = None
else: data_dict['gname'] = data
elif field == "Permissions": data_dict['perms'] = int(data)
else: raise ParsingError("Unknown field in line '%s %s'" %