mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-29 17:28:53 +00:00
Add last uploaded timestamp comparison for remote conflict detection
This commit is contained in:
parent
6402159106
commit
edc671f577
@ -707,10 +707,12 @@ class Downloader(QueueMixin, WriteFileMixin):
|
||||
if dmd_last_downloaded_uri != local_last_downloaded_uri:
|
||||
is_conflict = True
|
||||
self._count('objects_conflicted')
|
||||
|
||||
#dmd_last_uploaded_uri = metadata.get('last_uploaded_uri', None)
|
||||
#local_last_uploaded_uri = ...
|
||||
|
||||
else:
|
||||
dmd_last_uploaded_uri = metadata.get('last_uploaded_uri', None)
|
||||
local_last_uploaded_uri = self._db.get_last_uploaded_uri(relpath_u)
|
||||
if dmd_last_uploaded_uri != local_last_uploaded_uri:
|
||||
is_conflict = True
|
||||
self._count('objects_conflicted')
|
||||
if relpath_u.endswith(u"/"):
|
||||
if metadata.get('deleted', False):
|
||||
self._log("rmdir(%r) ignored" % (abspath_u,))
|
||||
|
@ -91,6 +91,22 @@ class MagicFolderDB(object):
|
||||
else:
|
||||
return row[0]
|
||||
|
||||
def get_last_uploaded_uri(self, relpath_u):
|
||||
"""
|
||||
Return the last downloaded uri recorded in the magic folder db.
|
||||
If none are found then return None.
|
||||
"""
|
||||
c = self.cursor
|
||||
c.execute("SELECT last_uploaded_uri"
|
||||
" FROM local_files"
|
||||
" WHERE path=?",
|
||||
(relpath_u,))
|
||||
row = self.cursor.fetchone()
|
||||
if not row:
|
||||
return None
|
||||
else:
|
||||
return row[0]
|
||||
|
||||
def get_local_file_version(self, relpath_u):
|
||||
"""
|
||||
Return the version of a local file tracked by our magic folder db.
|
||||
|
Loading…
Reference in New Issue
Block a user