Skip to content

Adapt copy conflict changes#295

Merged
MarcelGeo merged 3 commits into
v2-pull-integrationfrom
copy_conflict_checksums
Apr 21, 2026
Merged

Adapt copy conflict changes#295
MarcelGeo merged 3 commits into
v2-pull-integrationfrom
copy_conflict_checksums

Conversation

@MarcelGeo
Copy link
Copy Markdown
Contributor

@MarcelGeo MarcelGeo commented Apr 20, 2026

When file is updated and created on the server and user is having the same file (with same checksum) - do not create conflicting copy. This change will be ignored during pull:

  • no download of a file from server
  • no changes are adapted to users local directory
  • no copy conflict if checksum of a file is the same as in users directory

Simulation NO conflicts -> CREATE - CREATE

  • create project
  • download project to 2 clients
  • create project version from client 1 - local.txt with some content ("Hello!") -> PUSH
  • create the same file in client 2 local directory
  • sync changes into client 2
  • file will be there and no conflicitng copy for local.txt file created

Simulation CONFLICTS -> CREATE - CREATE

  • create project
  • download project to 2 clients
  • create project version from client 1 - local.txt with some content ("Hello!") -> PUSH
  • create the same file in client 2 local directory but with different content ("Hello world!)
  • sync changes into client 2
  • file will be there from server with content Hello! and conflicitng copy for local.txt file created with Hello world!

Simulation NO conflicts -> UPDATE - UPDATE

  • create project
  • download project to 2 clients
  • create project version from client 1 - local.txt with some content ("Hello!") -> PUSH
  • sync changes to client 2 - local.txt file is created
  • update file local.txt in client 1 directory ("Hello world!") -> PUSH
  • update file local.txt from client 2 directory ("Hello world!")
  • sync changes into client 2
  • file will be there with content Hello world! and no conflicitng copy for local.txt file created

Simulation CONFLICTS -> UPDATE - UPDATE
Note: no changes in file preview on web - new bug #3308

  • create project
  • download project to 2 clients
  • create project version from client 1 - local.txt with some content ("Hello!") -> PUSH
  • sync changes to client 2 - local.txt file is created
  • update file local.txt in client 1 directory ("Hello world!") -> PUSH
  • update file local.txt from client 2 directory ("Hello QGIS!")
  • sync changes into client 2
  • file will be there with content Hello world! and conflicitng copy for local.txt file created with content Hello QGIS!
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 20, 2026

Coverage Report for CI Build 24721627465

Coverage decreased (-0.7%) to 82.61%

Details

  • Coverage decreased (-0.7%) from the base build.
  • Patch coverage: 6 of 6 lines across 3 files are fully covered (100%).
  • 43 coverage regressions across 3 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

43 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
mergin/client_pull.py 20 79.82%
mergin/test/test_client.py 17 97.29%
mergin/client.py 6 87.09%

Coverage Stats

Coverage Status
Relevant Lines: 5647
Covered Lines: 4665
Line Coverage: 82.61%
Coverage Strength: 0.83 hits per line

💛 - Coveralls
@MarcelGeo MarcelGeo requested a review from wonder-sk April 20, 2026 10:50
@MarcelGeo MarcelGeo merged commit 883e655 into v2-pull-integration Apr 21, 2026
4 checks passed
@MarcelGeo MarcelGeo deleted the copy_conflict_checksums branch April 21, 2026 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants