summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--freefilesync/ffs_no_eraseif.patch124
1 files changed, 62 insertions, 62 deletions
diff --git a/freefilesync/ffs_no_eraseif.patch b/freefilesync/ffs_no_eraseif.patch
index d20fd81..f4a7b46 100644
--- a/freefilesync/ffs_no_eraseif.patch
+++ b/freefilesync/ffs_no_eraseif.patch
@@ -11,73 +11,73 @@ diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source
//get or create mutex
std::weak_ptr<std::mutex>& weakPtr = pathLocks[nativePath];
-diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/afs/gdrive.cpp 10.19-1/FreeFileSync/Source/afs/gdrive.cpp
+diff -x '*.swp' -x '*.git*' -x '*.orig' -x '*.rej' -Naur 10.24-0/FreeFileSync/Source/afs/gdrive.cpp 10.24-1/FreeFileSync/Source/afs/gdrive.cpp
--- 10.18-0/FreeFileSync/Source/afs/gdrive.cpp 2019-11-20 16:15:55.828668123 -0500
-+++ 10.19-1/FreeFileSync/Source/afs/gdrive.cpp 2019-12-27 11:17:35.793612360 -0500
-@@ -1788,7 +1788,7 @@
- if (auto it = itemDetails_.find(itemId); it != itemDetails_.end())
- {
- GoogleItemDetails detailsNew = it->second;
-- std::erase_if(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdOld; });
-+ eraseIf(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdOld; });
- notifyItemUpdate(stateDelta, itemId, detailsNew);
- }
- else //conflict!!!
-@@ -1802,7 +1802,7 @@
- GoogleItemDetails detailsNew = it->second;
- detailsNew.itemName = utfTo<std::string>(newName);
-
-- std::erase_if(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdFrom || id == parentIdTo; }); //
-+ eraseIf(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdFrom || id == parentIdTo; }); //
- detailsNew.parentIds.push_back(parentIdTo); //not a duplicate
-
- notifyItemUpdate(stateDelta, itemId, detailsNew);
-@@ -1911,7 +1911,7 @@
- return; //=> avoid misleading changeLog_ entries after Google Drive sync!!!
-
- //update change logs (and clean up obsolete entries)
-- std::erase_if(changeLog_, [&](std::weak_ptr<ItemIdDelta>& weakPtr)
-+ eraseIf(changeLog_, [&](std::weak_ptr<ItemIdDelta>& weakPtr)
- {
- if (std::shared_ptr<ItemIdDelta> iid = weakPtr.lock())
++++ 10.24-1/FreeFileSync/Source/afs/gdrive.cpp 2020-05-18 10:30:32.420537123 -0400
+@@ -1578,7 +1578,7 @@
+ if (auto it = itemDetails_.find(itemId); it != itemDetails_.end())
{
-@@ -1932,15 +1932,15 @@
-
- std::vector<std::string> parentIdsNew = details->parentIds;
- std::vector<std::string> parentIdsRemoved = it->second.parentIds;
-- std::erase_if(parentIdsNew, [&](const std::string& id) { return std::find(it->second.parentIds.begin(), it->second.parentIds.end(), id) != it->second.parentIds.end(); });
-- std::erase_if(parentIdsRemoved, [&](const std::string& id) { return std::find(details->parentIds.begin(), details->parentIds.end(), id) != details->parentIds.end(); });
-+ eraseIf(parentIdsNew, [&](const std::string& id) { return std::find(it->second.parentIds.begin(), it->second.parentIds.end(), id) != it->second.parentIds.end(); });
-+ eraseIf(parentIdsRemoved, [&](const std::string& id) { return std::find(details->parentIds.begin(), details->parentIds.end(), id) != details->parentIds.end(); });
-
- for (const std::string& parentId : parentIdsNew)
- folderContents_[parentId].childItems.push_back(it); //new insert => no need for duplicate check
-
- for (const std::string& parentId : parentIdsRemoved)
- if (auto itP = folderContents_.find(parentId); itP != folderContents_.end())
-- std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; });
-+ eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; });
- //if all parents are removed, Google Drive will (recursively) delete the item => don't prematurely do this now: wait for change notifications!
-
- it->second = *details;
-@@ -1959,7 +1959,7 @@
- {
- for (const std::string& parentId : it->second.parentIds) //1. delete from parent folders
- if (auto itP = folderContents_.find(parentId); itP != folderContents_.end())
-- std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; });
-+ eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; });
-
- itemDetails_.erase(it);
+ GoogleItemDetails detailsNew = it->second;
+- std::erase_if(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdOld; });
++ eraseIf(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdOld; });
+ notifyItemUpdate(stateDelta, itemId, detailsNew);
}
-@@ -1967,7 +1967,7 @@
- if (auto itP = folderContents_.find(itemId); itP != folderContents_.end())
+ else //conflict!!!
+@@ -1592,7 +1592,7 @@
+ GoogleItemDetails detailsNew = it->second;
+ detailsNew.itemName = utfTo<std::string>(newName);
+
+- std::erase_if(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdFrom || id == parentIdTo; }); //
++ eraseIf(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdFrom || id == parentIdTo; }); //
+ detailsNew.parentIds.push_back(parentIdTo); //not a duplicate
+
+ notifyItemUpdate(stateDelta, itemId, detailsNew);
+@@ -1701,7 +1701,7 @@
+ return; //=> avoid misleading changeLog_ entries after Google Drive sync!!!
+
+ //update change logs (and clean up obsolete entries)
+- std::erase_if(changeLog_, [&](std::weak_ptr<ItemIdDelta>& weakPtr)
++ eraseIf(changeLog_, [&](std::weak_ptr<ItemIdDelta>& weakPtr)
{
- for (auto itChild : itP->second.childItems) //2. delete as parent from child items (don't wait for change notifications of children)
-- std::erase_if(itChild->second.parentIds, [&](const std::string& id) { return id == itemId; });
-+ eraseIf(itChild->second.parentIds, [&](const std::string& id) { return id == itemId; });
- folderContents_.erase(itP);
+ if (std::shared_ptr<ItemIdDelta> iid = weakPtr.lock())
+ {
+@@ -1722,15 +1722,15 @@
+
+ std::vector<std::string> parentIdsNew = details->parentIds;
+ std::vector<std::string> parentIdsRemoved = it->second.parentIds;
+- std::erase_if(parentIdsNew, [&](const std::string& id) { return std::find(it->second.parentIds.begin(), it->second.parentIds.end(), id) != it->second.parentIds.end(); });
+- std::erase_if(parentIdsRemoved, [&](const std::string& id) { return std::find(details->parentIds.begin(), details->parentIds.end(), id) != details->parentIds.end(); });
++ eraseIf(parentIdsNew, [&](const std::string& id) { return std::find(it->second.parentIds.begin(), it->second.parentIds.end(), id) != it->second.parentIds.end(); });
++ eraseIf(parentIdsRemoved, [&](const std::string& id) { return std::find(details->parentIds.begin(), details->parentIds.end(), id) != details->parentIds.end(); });
+
+ for (const std::string& parentId : parentIdsNew)
+ folderContents_[parentId].childItems.push_back(it); //new insert => no need for duplicate check
+
+ for (const std::string& parentId : parentIdsRemoved)
+ if (auto itP = folderContents_.find(parentId); itP != folderContents_.end())
+- std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; });
++ eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; });
+ //if all parents are removed, Google Drive will (recursively) delete the item => don't prematurely do this now: wait for change notifications!
+
+ it->second = *details;
+@@ -1749,7 +1749,7 @@
+ {
+ for (const std::string& parentId : it->second.parentIds) //1. delete from parent folders
+ if (auto itP = folderContents_.find(parentId); itP != folderContents_.end())
+- std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; });
++ eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; });
+
+ itemDetails_.erase(it);
+ }
+@@ -1757,7 +1757,7 @@
+ if (auto itP = folderContents_.find(itemId); itP != folderContents_.end())
+ {
+ for (auto itChild : itP->second.childItems) //2. delete as parent from child items (don't wait for change notifications of children)
+- std::erase_if(itChild->second.parentIds, [&](const std::string& id) { return id == itemId; });
++ eraseIf(itChild->second.parentIds, [&](const std::string& id) { return id == itemId; });
+ folderContents_.erase(itP);
+ }
}
- }
diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/afs/sftp.cpp 10.18-2/FreeFileSync/Source/afs/sftp.cpp
--- 10.18-1/FreeFileSync/Source/afs/sftp.cpp 2019-11-20 17:54:23.078438037 -0500
+++ 10.18-2/FreeFileSync/Source/afs/sftp.cpp 2019-11-20 17:57:30.557558372 -0500
bgstack15