rdiff-backup-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/rpath.py


From: dean gaudet
Subject: [Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/rpath.py
Date: Sun, 05 Nov 2006 01:19:02 +0000

CVSROOT:        /cvsroot/rdiff-backup
Module name:    rdiff-backup
Changes by:     dean gaudet <dgaudet>   06/11/05 01:19:02

Modified files:
        .              : CHANGELOG 
        rdiff_backup   : rpath.py 

Log message:
        Set symlink permissions properly.  (Patch from Andrew Ferguson.)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&r1=1.182&r2=1.183
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/rpath.py?cvsroot=rdiff-backup&r1=1.99&r2=1.100

Patches:
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.182
retrieving revision 1.183
diff -u -b -r1.182 -r1.183
--- CHANGELOG   23 Feb 2006 02:57:19 -0000      1.182
+++ CHANGELOG   5 Nov 2006 01:19:01 -0000       1.183
@@ -1,6 +1,8 @@
 New in v1.1.6 (????/??/??)
 --------------------------
 
+Set symlink permissions properly.  (Patch from Andrew Ferguson.)
+
 Selection fix: empty directories could sometimes be improperly
 excluded if certain include expressions involving a non-trailing '**'
 were used.  Bug reported by Toni Price.

Index: rdiff_backup/rpath.py
===================================================================
RCS file: /cvsroot/rdiff-backup/rdiff-backup/rdiff_backup/rpath.py,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -b -r1.99 -r1.100
--- rdiff_backup/rpath.py       13 Jan 2006 05:29:47 -0000      1.99
+++ rdiff_backup/rpath.py       5 Nov 2006 01:19:02 -0000       1.100
@@ -100,7 +100,12 @@
 
        if rpin.isreg(): return copy_reg_file(rpin, rpout, compress)
        elif rpin.isdir(): rpout.mkdir()
-       elif rpin.issym(): rpout.symlink(rpin.readlink())
+       elif rpin.issym():
+               # some systems support permissions for symlinks, but
+               # only by setting at creation via the umask
+               os.umask(0777 - rpin.getperms())
+               rpout.symlink(rpin.readlink())
+               os.umask(077)   # restore rdiff-backup standard umask
        elif rpin.ischardev():
                major, minor = rpin.getdevnums()
                rpout.makedev("c", major, minor)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]