[Pkg-owncloud-commits] [owncloud-client] 319/498: csync_update: store the remote ignore information into tree (from tmp)
Sandro Knauß
hefee-guest at moszumanska.debian.org
Tue Aug 11 14:49:02 UTC 2015
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit e11f59af3277a9dbd93077850a302ef9d7a46acd
Author: Klaas Freitag <freitag at owncloud.com>
Date: Fri Jul 10 16:48:01 2015 +0200
csync_update: store the remote ignore information into tree (from tmp)
This way the propagator is able to skip a remove if ingored files are
exiting.
---
csync/src/csync_update.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c
index 5dbe27b..a848ff8 100644
--- a/csync/src/csync_update.c
+++ b/csync/src/csync_update.c
@@ -265,10 +265,10 @@ static int _csync_detect_update(CSYNC *ctx, const char *file,
/* we have an update! */
CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Database entry found, compare: %" PRId64 " <-> %" PRId64
", etag: %s <-> %s, inode: %" PRId64 " <-> %" PRId64
- ", size: %" PRId64 " <-> %" PRId64 ", perms: %s <-> %s",
+ ", size: %" PRId64 " <-> %" PRId64 ", perms: %s <-> %s, ignore: %d",
((int64_t) fs->mtime), ((int64_t) tmp->modtime),
fs->etag, tmp->etag, (uint64_t) fs->inode, (uint64_t) tmp->inode,
- (uint64_t) fs->size, (uint64_t) tmp->size, fs->remotePerm, tmp->remotePerm );
+ (uint64_t) fs->size, (uint64_t) tmp->size, fs->remotePerm, tmp->remotePerm, tmp->has_ignored_files );
if( !fs->etag) {
st->instruction = CSYNC_INSTRUCTION_EVAL;
goto out;
@@ -313,6 +313,12 @@ static int _csync_detect_update(CSYNC *ctx, const char *file,
CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Need to update metadata for: %s", path);
st->should_update_metadata = true;
}
+ /* If it was remembered in the db that the remote dir has ignored files, store
+ * that so that the reconciler can make advantage of.
+ */
+ if( ctx->current == REMOTE_REPLICA ) {
+ st->has_ignored_files = tmp->has_ignored_files;
+ }
st->instruction = CSYNC_INSTRUCTION_NONE;
} else {
enum csync_vio_file_type_e tmp_vio_type = CSYNC_VIO_FILE_TYPE_UNKNOWN;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list