[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/Globals.py ..
From: |
Andrew Ferguson |
Subject: |
[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/Globals.py ... |
Date: |
Sun, 13 Apr 2008 11:25:23 +0000 |
CVSROOT: /sources/rdiff-backup
Module name: rdiff-backup
Changes by: Andrew Ferguson <owsla> 08/04/13 11:25:22
Modified files:
. : CHANGELOG
rdiff_backup : Globals.py SetConnections.py fs_abilities.py
Log message:
Handle Windows' lack of getuid(), getgid(), hardlinks and symlinks in
fs_abilities.py. Use subproces.Popen() on Windows since it does not
support
os.popen2(). (Patch from Josh Nisly)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&r1=1.265&r2=1.266
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/Globals.py?cvsroot=rdiff-backup&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/SetConnections.py?cvsroot=rdiff-backup&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/fs_abilities.py?cvsroot=rdiff-backup&r1=1.44&r2=1.45
Patches:
Index: CHANGELOG
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.265
retrieving revision 1.266
diff -u -b -r1.265 -r1.266
--- CHANGELOG 8 Apr 2008 15:46:01 -0000 1.265
+++ CHANGELOG 13 Apr 2008 11:25:21 -0000 1.266
@@ -1,6 +1,10 @@
New in v1.1.16 (????/??/??)
---------------------------
+Handle Windows' lack of getuid(), getgid(), hardlinks and symlinks in
+fs_abilities.py. Use subproces.Popen() on Windows since it does not support
+os.popen2(). (Patch from Josh Nisly)
+
Let setup.py accept arguments on Windows. (Patch from Josh Nisly)
Get cmodule.c building natively on Windows. (Patch from Josh Nisly)
Index: rdiff_backup/Globals.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/Globals.py,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- rdiff_backup/Globals.py 18 Jul 2007 21:52:11 -0000 1.44
+++ rdiff_backup/Globals.py 13 Apr 2008 11:25:21 -0000 1.45
@@ -47,9 +47,14 @@
# uid and gid of the owner of the rdiff-backup process. This can
# vary depending on the connection.
-process_uid = os.getuid()
-process_gid = os.getgid()
-process_groups = [process_gid] + os.getgroups()
+try:
+ process_uid = os.getuid()
+ process_gid = os.getgid()
+ process_groups = [process_gid] + os.getgroups()
+except AttributeError:
+ process_uid = 0
+ process_gid = 0
+ process_groups = [0]
# If true, when copying attributes, also change target's uid/gid
change_ownership = None
Index: rdiff_backup/SetConnections.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/SetConnections.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- rdiff_backup/SetConnections.py 18 Jul 2007 21:52:11 -0000 1.16
+++ rdiff_backup/SetConnections.py 13 Apr 2008 11:25:22 -0000 1.17
@@ -132,6 +132,13 @@
if not remote_cmd: return Globals.local_connection
Log("Executing " + remote_cmd, 4)
+ if os.name == "nt":
+ import subprocess
+ process = subprocess.Popen(remote_cmd, shell=False, bufsize=0,
+
stdin=subprocess.PIPE,
+
stdout=subprocess.PIPE)
+ (stdin, stdout) = (process.stdin, process.stdout)
+ else:
stdin, stdout = os.popen2(remote_cmd)
conn_number = len(Globals.connections)
conn = connection.PipeConnection(stdout, stdin, conn_number)
Index: rdiff_backup/fs_abilities.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/fs_abilities.py,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- rdiff_backup/fs_abilities.py 9 Jan 2008 19:19:25 -0000 1.44
+++ rdiff_backup/fs_abilities.py 13 Apr 2008 11:25:22 -0000 1.45
@@ -169,7 +169,7 @@
try:
tmp_rp.chown(uid+1, gid+1) # just choose random uid/gid
tmp_rp.chown(0, 0)
- except (IOError, OSError): self.ownership = 0
+ except (IOError, OSError, AttributeError): self.ownership = 0
else: self.ownership = 1
tmp_rp.delete()
@@ -184,7 +184,7 @@
hl_dest.hardlink(hl_source.path)
if hl_source.getinode() != hl_dest.getinode():
raise IOError(errno.EOPNOTSUPP, "Hard links
don't compare")
- except (IOError, OSError):
+ except (IOError, OSError, AttributeError):
if Globals.preserve_hardlinks != 0:
log.Log("Warning: hard linking not supported by
filesystem "
"at %s" % (self.root_rp.path,),
3)
@@ -460,7 +460,7 @@
sym_dest = dir_rp.append("symlinked_file2")
try:
sym_dest.symlink(sym_source.path)
- except (OSError):
+ except (OSError, AttributeError):
self.symlink_perms = 0
else:
sym_dest.setdata()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/Globals.py ...,
Andrew Ferguson <=