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

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

[Rdiff-backup-commits] rdiff-backup rdiff-backup.1 rdiff_backup/rpath...


From: Andrew Ferguson
Subject: [Rdiff-backup-commits] rdiff-backup rdiff-backup.1 rdiff_backup/rpath....
Date: Mon, 22 Dec 2008 16:57:41 +0000

CVSROOT:        /sources/rdiff-backup
Module name:    rdiff-backup
Changes by:     Andrew Ferguson <owsla> 08/12/22 16:57:41

Modified files:
        .              : rdiff-backup.1 
        rdiff_backup   : rpath.py Main.py 

Log message:
        Prevent backing-up reparse points on Windows

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff-backup.1?cvsroot=rdiff-backup&r1=1.89&r2=1.90
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/rpath.py?cvsroot=rdiff-backup&r1=1.135&r2=1.136
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/Main.py?cvsroot=rdiff-backup&r1=1.124&r2=1.125

Patches:
Index: rdiff-backup.1
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff-backup.1,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -b -r1.89 -r1.90
--- rdiff-backup.1      20 Aug 2008 02:37:41 -0000      1.89
+++ rdiff-backup.1      22 Dec 2008 16:57:40 -0000      1.90
@@ -1,4 +1,4 @@
-.TH RDIFF-BACKUP 1 "JULY 2007" "Version 1.1.13" "User Manuals" \" -*- nroff -*-
+.TH RDIFF-BACKUP 1 "DECEMBER 2008" "Version 1.2.3" "User Manuals" \" -*- nroff 
-*-
 .SH NAME
 rdiff-backup \- local/remote mirror and incremental backup
 .SH SYNOPSIS
@@ -188,7 +188,8 @@
 Exclude all socket files.
 .TP
 .B "\-\-exclude-symbolic-links"
-Exclude all symbolic links.
+Exclude all symbolic links. This option is automatically enabled if the backup
+source is running on native Windows to avoid backing-up NTFS reparse points.
 .TP
 .BI "\-\-exclude-if-present " filename
 Exclude directories if

Index: rdiff_backup/rpath.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/rpath.py,v
retrieving revision 1.135
retrieving revision 1.136
diff -u -b -r1.135 -r1.136
--- rdiff_backup/rpath.py       19 Dec 2008 03:07:18 -0000      1.135
+++ rdiff_backup/rpath.py       22 Dec 2008 16:57:41 -0000      1.136
@@ -38,6 +38,10 @@
 import os, stat, re, sys, shutil, gzip, socket, time, errno
 import Globals, Time, static, log, user_group, C
 
+try:
+       import win32file, winnt
+except ImportError:
+       pass
 
 class SkipFileException(Exception):
        """Signal that the current file should be skipped but then continue
@@ -328,6 +332,12 @@
        data['devloc'] = statblock[stat.ST_DEV]
        data['nlink'] = statblock[stat.ST_NLINK]
 
+       if os.name == 'nt':
+               attribs = win32file.GetFileAttributes(filename)
+               if attribs & winnt.FILE_ATTRIBUTE_REPARSE_POINT:
+                       data['type'] = 'sym'
+                       data['linkname'] = None
+
        if not (type == 'sym' or type == 'dev'):
                # mtimes on symlinks and dev files don't work consistently
                data['mtime'] = long(statblock[stat.ST_MTIME])

Index: rdiff_backup/Main.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/Main.py,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -b -r1.124 -r1.125
--- rdiff_backup/Main.py        20 Dec 2008 14:27:12 -0000      1.124
+++ rdiff_backup/Main.py        22 Dec 2008 16:57:41 -0000      1.125
@@ -356,6 +356,9 @@
 
 def backup_set_select(rpin):
        """Create Select objects on source connection"""
+       if rpin.conn.os.name == 'nt':
+               log.Log("Symbolic links excluded by default on Windows", 4)
+               select_opts.append(("--exclude-symbolic-links", None))
        rpin.conn.backup.SourceStruct.set_source_select(rpin, select_opts,
                                                                                
                        *select_files)
 




reply via email to

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