summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar zardoz <zardoz@web>2014-07-07 13:48:44 +0000
committerGravatar admin <admin@branchable.com>2014-07-07 13:48:44 +0000
commit7896d518e895deae4102baf7c3833a4005dd17e5 (patch)
tree125e39a7bad1e905fdfb3d1387c8d5db1dbfb7e5
parentb409c103b26b0504cb830b91f357d989bda04bf6 (diff)
-rw-r--r--doc/bugs/Merge_involving_symlink_yields_unexpected_results.mdwn47
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/bugs/Merge_involving_symlink_yields_unexpected_results.mdwn b/doc/bugs/Merge_involving_symlink_yields_unexpected_results.mdwn
new file mode 100644
index 000000000..942db3dd2
--- /dev/null
+++ b/doc/bugs/Merge_involving_symlink_yields_unexpected_results.mdwn
@@ -0,0 +1,47 @@
+### Please describe the problem.
+When creating a symlink in repository A, and creating a regular file under the same name in repository B, syncing B will yield the result that the symlink is lost, and both the original filename and the .variant file will point to the same annex object containing the original content from B.
+
+Both A and B are indirect mode repos.
+
+### What steps will reproduce the problem?
+
+[[!format sh """
+
+#Initial state:
+
+repo-A$ echo file1
+This is file 1.
+repo-B$ echo file1
+This is file 1.
+
+#Make conflicting changes:
+
+repo-A$ ln -s file1 file2; git add file2; git commit -m "Add file2 as symlink."
+repo-B$ echo "This is file 2." > file2; git annex add file2; git commit -m "Add file2 as regular file."
+
+#Sync it:
+
+repo-A$ git annex sync
+repo-B$ git annex sync
+
+#Strange result in repo-B:
+
+repo-B$ ls -l file2*
+file2 -> .git/annex/objects/$HASH1
+file2.variant1234 -> .git/annex/objects/$HASH1
+repo-B$ cat file2 file2.variantXXXX
+This is file 2.
+This is file 2.
+
+#Repo-A leaves the symlink change untouched and adds a .variant containing the new regular file data.
+
+repo-A$ ls -l file*
+file2 -> file1
+file2.variant1234 -> .git/annex/objects/$HASH1
+repo-A$ cat file.variant1234
+This is file 2.
+"""]]
+### What version of git-annex are you using? On what operating system?
+Linux 3.15.3
+git-annex 5.20140613
+