Skip to content

Conflicts on empty files in encrypted projects #1106

Closed
merlinthered opened this Issue Dec 12, 2012 · 3 comments

2 participants

@merlinthered

I have recurring problems with conflicts. The problem seems similar to #87 and #721, although no case change was involved.

I'm using SparkleShare 1.0 with encryption with two users. Both are in Windows. One user creates a new empty text file in the shared folder and immediately renames it (to a completely different name). This causes the original file creation and the rename to be recorded in history.

The other user then gets a notification that there was a conflict and supposedly copies of all conflicting files were created. When the second user looks into his shared folder, only the original file (with the name when it was first created) is located there. No copies.

After that, user 2 gets no more updates from the repository and a new "conflict happened" warning pops up every few seconds.

I'm suspecting this has something to do with the files being empty. This is a part of my log from when the problem happened:

19:47:14 | repository_name | Syncing due to announcement
19:47:14 | SyncDown | repository_name | Initiated
19:47:14 | Cmd | repository_name | git rev-parse HEAD
19:47:14 | Cmd | repository_name | git fetch --progress "ssh://git@bitbucket.org/user_name/repository_name-crypto" master
19:47:16 | Git | repository_name | remote: Counting objects: 4, done.�[K
19:47:16 | Git | repository_name | remote: Total 3 (delta 0), reused 0 (delta 0)�[K
19:47:16 | Git | repository_name | From ssh://bitbucket.org/user_name/repository_name-crypto
19:47:16 | Git | repository_name |  * branch            master     -> FETCH_HEAD
19:47:16 | Cmd | repository_name | git status --porcelain
19:47:16 | Cmd | repository_name | git config core.ignorecase true
19:47:16 | Cmd | repository_name | git rebase FETCH_HEAD
19:47:17 | Cmd | repository_name | git config core.ignorecase false
19:47:17 | SyncDown | repository_name | Done
19:47:17 | Cmd | repository_name | git log --since=1.month --raw --find-renames --date=iso --format=medium --no-color --no-merges
19:47:17 | Cmd | repository_name | git rev-parse HEAD
19:47:20 | Listener | Got message afc50242525e4532252a6dfd43448c8b95c72b15 from 9565b01d0b5101a2c3532f97898644d8bf94dd5d on tcp://notifications.sparkleshare.org:443/
19:47:20 | Cmd | repository_name | git rev-parse HEAD
19:47:20 | repository_name | Syncing due to announcement
19:47:20 | SyncDown | repository_name | Initiated
19:47:20 | Cmd | repository_name | git rev-parse HEAD
19:47:20 | Cmd | repository_name | git fetch --progress "ssh://git@bitbucket.org/user_name/repository_name-crypto" master
19:47:23 | Git | repository_name | remote: Counting objects: 3, done.�[K
19:47:23 | Git | repository_name | remote: Total 2 (delta 1), reused 0 (delta 0)�[K
19:47:23 | Git | repository_name | From ssh://bitbucket.org/user_name/repository_name-crypto
19:47:23 | Git | repository_name |  * branch            master     -> FETCH_HEAD
19:47:23 | Cmd | repository_name | git status --porcelain
19:47:23 | Cmd | repository_name | git config core.ignorecase true
19:47:23 | Cmd | repository_name | git rebase FETCH_HEAD
19:47:23 | Git | repository_name | Conflict detected, trying to get out...
19:47:23 | Git | repository_name | Conflict resolved
19:47:23 | Cmd | repository_name | git config core.ignorecase false
19:47:23 | SyncDown | repository_name | Done
19:47:23 | Cmd | repository_name | git log --since=1.month --raw --find-renames --date=iso --format=medium --no-color --no-merges
19:47:23 | Cmd | repository_name | git rev-parse HEAD
19:47:25 | Listener | Got message 62f6fd47172cca5fff4911f21669654568e3effb from 9565b01d0b5101a2c3532f97898644d8bf94dd5d on tcp://notifications.sparkleshare.org:443/
19:47:25 | Cmd | repository_name | git rev-parse HEAD
19:47:25 | repository_name | Syncing due to announcement
19:47:25 | SyncDown | repository_name | Initiated
19:47:25 | Cmd | repository_name | git rev-parse HEAD
19:47:25 | Cmd | repository_name | git fetch --progress "ssh://git@bitbucket.org/user_name/repository_name-crypto" master
19:47:28 | Git | repository_name | remote: Counting objects: 6, done.�[K
19:47:28 | Git | repository_name | remote: Total 5 (delta 2), reused 0 (delta 0)�[K
19:47:28 | Git | repository_name | From ssh://bitbucket.org/user_name/repository_name-crypto
19:47:28 | Git | repository_name |  * branch            master     -> FETCH_HEAD
19:47:28 | Cmd | repository_name | git status --porcelain
19:47:28 | Cmd | repository_name | git config core.ignorecase true
19:47:28 | Cmd | repository_name | git rebase FETCH_HEAD
19:47:28 | Git | repository_name | Conflict detected, trying to get out...
19:47:28 | Git | repository_name | Conflict resolved
19:47:28 | Cmd | repository_name | git config core.ignorecase false
19:47:28 | SyncDown | repository_name | Done
19:47:28 | Cmd | repository_name | git log --since=1.month --raw --find-renames --date=iso --format=medium --no-color --no-merges
19:47:28 | Cmd | repository_name | git rev-parse HEAD
19:51:47 | Git | sparkleshare | Checking for remote changes...
19:51:47 | Cmd | sparkleshare | git rev-parse HEAD
19:51:47 | Cmd | sparkleshare | git ls-remote --heads --exit-code "ssh://git@bitbucket.org/user_name/sparkleshare-crypto" master
19:51:47 | Git | repository_name | Checking for remote changes...
19:51:47 | Cmd | repository_name | git rev-parse HEAD
19:51:48 | Cmd | repository_name | git ls-remote --heads --exit-code "ssh://git@bitbucket.org/user_name/repository_name-crypto" master
19:51:50 | Git | repository_name | Remote changes found, local: e9cb94594f6e33b8d87d3cedd7156a88881da3ac, remote: 62f6fd47172cca5fff4911f21669654568e3effb
19:51:50 | SyncDown | repository_name | Initiated
19:51:50 | Cmd | repository_name | git rev-parse HEAD
19:51:50 | Cmd | repository_name | git fetch --progress "ssh://git@bitbucket.org/user_name/repository_name-crypto" master
19:51:51 | Git | sparkleshare | No remote changes, local+remote: b40f5f0279400adc9658d0d0f6cf483465c44cea
19:51:53 | Git | repository_name | From ssh://bitbucket.org/user_name/repository_name-crypto
19:51:53 | Git | repository_name |  * branch            master     -> FETCH_HEAD
19:51:53 | Cmd | repository_name | git status --porcelain
19:51:53 | Cmd | repository_name | git config core.ignorecase true
19:51:53 | Cmd | repository_name | git rebase FETCH_HEAD
19:51:54 | Git | repository_name | Conflict detected, trying to get out...
19:51:54 | Git | repository_name | Conflict resolved
19:51:54 | Cmd | repository_name | git config core.ignorecase false
19:51:54 | SyncDown | repository_name | Done
19:51:54 | Cmd | repository_name | git log --since=1.month --raw --find-renames --date=iso --format=medium --no-color --no-merges
19:51:54 | Cmd | repository_name | git rev-parse HEAD
19:52:29 | ListenerTcp | Pinging tcp://notifications.sparkleshare.org:443/
19:52:30 | ListenerTcp | Received pong from tcp://notifications.sparkleshare.org:443/
19:56:13 | Cmd | repository_name | git status --porcelain
19:56:13 | Cmd | repository_name | git status --porcelain
19:56:13 | Cmd | repository_name | git status --porcelain
19:56:13 | Cmd | repository_name | git status --porcelain
19:56:13 | Local | repository_name | Activity detected, waiting for it to settle...
19:56:16 | Local | repository_name | Activity has settled
19:56:16 | Cmd | repository_name | git status --porcelain

You can see that SparkleShare assumed that conflicts had been resolved multiple times. During that time, no files were changed, so all the conflicts seem to stem from the same rename at the beginning.

@hbons
Owner
hbons commented Dec 19, 2012

can you run the git branch command on the project locally? which branch does it tell you you're on after you get into this looping state?

@hbons
Owner
hbons commented Jan 2, 2013

i tihnk this is a duplicate of #1108 .

@hbons hbons closed this Jan 2, 2013
@hbons hbons reopened this Jul 6, 2013
@hbons
Owner
hbons commented Dec 1, 2013

i can reproduce this problem. the strange thing is, if i do a "git merge" instead of a "git rebase" to get the new remote changes, it works just fine. investigating...

@hbons hbons closed this in 074c91c Dec 2, 2013
@alexandervdm alexandervdm pushed a commit to alexandervdm/SparkleShare that referenced this issue Jan 10, 2014
@hbons repo git: Solve conflicts by merging, instead of rebasing. Fixes #1106 cc9c166
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.