[Bug 1764] New: dry-run does not show changes in owner / group,
permission, or timestamp
samba-bugs at samba.org
samba-bugs at samba.org
Wed Sep 15 06:35:01 GMT 2004
https://bugzilla.samba.org/show_bug.cgi?id=1764
Summary: dry-run does not show changes in owner / group,
permission, or timestamp
Product: rsync
Version: 2.6.3
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: core
AssignedTo: wayned at samba.org
ReportedBy: mwang at unixlabplus.com
QAContact: rsync-qa at samba.org
1. Test case:
# touch a b
# chmod 777 a; chmod 000 b
# ./rsync -vanx a b
building file list ... done
wrote 54 bytes read 20 bytes 148.00 bytes/sec
total size is 0 speedup is 0.00
/* Please note the b does not show up.
* Without -n option and with addition -v option (-vv), b does show up.
*
* The patch provides below does:
* (1) with "-n" option, b shows up.
* (2) without "-n" option and with only "-v" option b show up as well.
* I consider (1) as a bug fix; and (2) makes the rsync behavior more close
* to what documented in man page, as attributes are part of a file.
* /
-v, --verbose
This option increases the amount of information you are
given during the transfer. By default, rsync works
silently. A single -v will give you information about
what files are being transferred and a brief summary at
the end. Two -v flags will give you information on what
files are being skipped and slightly more information
at the end. More than two -v flags should only be used
if you are debugging rsync.
# ./rsync_patched -vanx a b
building file list ... done
chmod: b
wrote 54 bytes read 20 bytes 49.33 bytes/sec
total size is 0 speedup is 0.00
2. Patch
--- rsync-2.6.2/rsync.c Tue Mar 23 11:16:15 2004
+++ rsync-2.6.2-new/rsync.c Wed Sep 15 01:35:16 2004
@@ -129,7 +129,6 @@
STRUCT_STAT st2;
int change_uid, change_gid;
- if (dry_run) return 0;
if (!st) {
if (link_stat(fname,&st2) != 0) {
@@ -142,6 +141,10 @@
if (preserve_times && !S_ISLNK(st->st_mode) &&
cmp_modtime(st->st_mtime, file->modtime) != 0) {
+ if (dry_run) {
+ rprintf(FINFO,"modtime: %s\n",fname);
+ return 0;
+ }
/* don't complain about not setting times on directories
* because some filesystems can't do it */
if (set_modtime(fname,file->modtime) != 0 &&
@@ -157,6 +160,10 @@
change_gid = preserve_gid && file->gid != GID_NONE
&& st->st_gid != file->gid;
if (change_uid || change_gid) {
+ if (dry_run) {
+ rprintf(FINFO,"chown: %s\n",fname);
+ return 0;
+ }
if (verbose > 2) {
if (change_uid) {
rprintf(FINFO,
@@ -191,6 +198,10 @@
#ifdef HAVE_CHMOD
if (!S_ISLNK(st->st_mode)) {
if ((st->st_mode & CHMOD_BITS) != (file->mode & CHMOD_BITS)) {
+ if (dry_run) {
+ rprintf(FINFO,"chmod: %s\n",fname);
+ return 0;
+ }
updated = 1;
if (do_chmod(fname,(file->mode & CHMOD_BITS)) != 0) {
rprintf(FERROR, "failed to set permissions on %s
: %s\n",
@@ -201,7 +212,7 @@
}
#endif
- if (verbose > 1 && report) {
+ if (verbose >= 1 && report) {
if (updated)
rprintf(FINFO,"%s\n",fname);
else
--
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
More information about the rsync
mailing list