Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package nextcloud-desktop If someone moves a folder into the Nextcloud desktop controlled folder, Nextcloud desktop didn't upload subfolders. This leads to a wired UX as users see the complete directory tree localy, but missing those files and folders on server. The debdiff 2.5.1-2 - 2.5.1-3 is attached. unblock nextcloud-desktop/2.5.1-3 -- System Information: Debian Release: 10.0 APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=en_US (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
diff -Nru nextcloud-desktop-2.5.1/debian/changelog nextcloud-desktop-2.5.1/debian/changelog --- nextcloud-desktop-2.5.1/debian/changelog 2019-02-12 23:54:02.000000000 +0100 +++ nextcloud-desktop-2.5.1/debian/changelog 2019-05-16 16:14:50.000000000 +0200 @@ -1,3 +1,10 @@ +nextcloud-desktop (2.5.1-3) unstable; urgency=medium + + * Fix "Subfolders of moved folders not synced" (Closes: #929079) + Added 0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch + + -- Sandro Knauß <he...@debian.org> Thu, 16 May 2019 16:14:50 +0200 + nextcloud-desktop (2.5.1-2) unstable; urgency=medium [ Adrian Heine ] diff -Nru nextcloud-desktop-2.5.1/debian/patches/0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch nextcloud-desktop-2.5.1/debian/patches/0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch --- nextcloud-desktop-2.5.1/debian/patches/0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch 1970-01-01 01:00:00.000000000 +0100 +++ nextcloud-desktop-2.5.1/debian/patches/0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch 2019-05-16 15:58:22.000000000 +0200 @@ -0,0 +1,92 @@ +From b6ff17c50be2339ba1dcfa9a8b0afeccacd6d6e5 Mon Sep 17 00:00:00 2001 +From: Joshua Sterner <joshua.s.ster...@gmail.com> +Date: Thu, 9 May 2019 01:05:49 -0700 +Subject: [PATCH] Fixed Issue #1000 - Subfolders of moved folders not synced + +Signed-off-by: Joshua Sterner <joshua.s.ster...@gmail.com> +--- + src/gui/folderwatcher.cpp | 18 ++++++++++++++++++ + src/gui/folderwatcher.h | 3 +++ + test/testfolderwatcher.cpp | 13 +++++++++++++ + 3 files changed, 34 insertions(+) + +diff --git a/src/gui/folderwatcher.cpp b/src/gui/folderwatcher.cpp +index d8136ff36..65e68cb36 100644 +--- a/src/gui/folderwatcher.cpp ++++ b/src/gui/folderwatcher.cpp +@@ -75,9 +75,27 @@ bool FolderWatcher::isReliable() const + return _isReliable; + } + ++void FolderWatcher::appendSubPaths(QDir dir, QStringList& subPaths) { ++ QStringList newSubPaths = dir.entryList(QDir::NoDotAndDotDot | QDir::Dirs | QDir::Files); ++ for (int i = 0; i < newSubPaths.size(); i++) { ++ QString path = dir.path() + "/" + newSubPaths[i]; ++ QFileInfo fileInfo(path); ++ subPaths.append(path); ++ if (fileInfo.isDir()) { ++ QDir dir(path); ++ appendSubPaths(dir, subPaths); ++ } ++ } ++} ++ + void FolderWatcher::changeDetected(const QString &path) + { ++ QFileInfo fileInfo(path); + QStringList paths(path); ++ if (fileInfo.isDir()) { ++ QDir dir(path); ++ appendSubPaths(dir, paths); ++ } + changeDetected(paths); + } + +diff --git a/src/gui/folderwatcher.h b/src/gui/folderwatcher.h +index a6cf006e2..b07c33a10 100644 +--- a/src/gui/folderwatcher.h ++++ b/src/gui/folderwatcher.h +@@ -26,6 +26,7 @@ + #include <QHash> + #include <QScopedPointer> + #include <QSet> ++#include <QDir> + + class QTimer; + +@@ -120,6 +121,8 @@ private: + Folder *_folder; + bool _isReliable = true; + ++ void appendSubPaths(QDir dir, QStringList& subPaths); ++ + friend class FolderWatcherPrivate; + }; + } +diff --git a/test/testfolderwatcher.cpp b/test/testfolderwatcher.cpp +index d90856828..b5dba5fbc 100644 +--- a/test/testfolderwatcher.cpp ++++ b/test/testfolderwatcher.cpp +@@ -140,6 +140,19 @@ private slots: + QVERIFY(waitForPathChanged(file)); + } + ++ void testMove3LevelDirWithFile() { ++ QString file(_rootPath + "/a0/b/c/empty.txt"); ++ mkdir(_rootPath + "/a0"); ++ mkdir(_rootPath + "/a0/b"); ++ mkdir(_rootPath + "/a0/b/c"); ++ touch(file); ++ QString cmd = QString("mv " + _rootPath + "/a0 " + _rootPath + "/a"); ++ qDebug() << "Command: " << cmd; ++ system(cmd.toLocal8Bit()); ++ QVERIFY(waitForPathChanged(_rootPath + "/a/b/c/empty.txt")); ++ } ++ ++ + void testCreateADir() { + QString file(_rootPath+"/a1/b1/new_dir"); + mkdir(file); +-- +2.20.1 + diff -Nru nextcloud-desktop-2.5.1/debian/patches/series nextcloud-desktop-2.5.1/debian/patches/series --- nextcloud-desktop-2.5.1/debian/patches/series 2019-01-15 16:06:15.000000000 +0100 +++ nextcloud-desktop-2.5.1/debian/patches/series 2019-05-16 16:02:30.000000000 +0200 @@ -2,3 +2,4 @@ 0002-disable-updatecheck.patch 0003-use_system_buildflags.patch 0004-disable-git-hash-display.patch +0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch