Skip to content

Adapt copy conflict changes#295

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

Adapt copy conflict changes#295
MarcelGeo merged 3 commits intov2-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

  • 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants