diff options
Diffstat (limited to 'doc/bugs/direct_cripple_mode_crippled_my_other_non-crippled_repos/comment_1_8b2f7e960cf0ed043c5ad070d6fc08e2._comment')
-rw-r--r-- | doc/bugs/direct_cripple_mode_crippled_my_other_non-crippled_repos/comment_1_8b2f7e960cf0ed043c5ad070d6fc08e2._comment | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/doc/bugs/direct_cripple_mode_crippled_my_other_non-crippled_repos/comment_1_8b2f7e960cf0ed043c5ad070d6fc08e2._comment b/doc/bugs/direct_cripple_mode_crippled_my_other_non-crippled_repos/comment_1_8b2f7e960cf0ed043c5ad070d6fc08e2._comment deleted file mode 100644 index a3eace0d5..000000000 --- a/doc/bugs/direct_cripple_mode_crippled_my_other_non-crippled_repos/comment_1_8b2f7e960cf0ed043c5ad070d6fc08e2._comment +++ /dev/null @@ -1,38 +0,0 @@ -[[!comment format=mdwn - username="joey" - subject="""analysis""" - date="2015-10-15T17:30:12Z" - content=""" -git merge fails because it cannot write to these filenames. - -git-annex assumes that, if git merge failed, there was a merge conflict, so -the automatic merge conflict resolution code is run. There are probably no -unmerged files in this case. So, the automatic merge conflict resolution -finds nothing to do, probably. - -However, since the automatic merge conflict resolution code ran, it now -assumes the merge has been dealt with, and proceeds to clean up, including -making a merge commit. - -The merge commit is where the file "removal" happens. It should bail out -before that point. - -The best fix would be to detect that git merge has crashed early and skip -all the merge conflict resolution etc. How? git merge uses the same -exit status for this kind of crash as it does for an unresolved merge -conflict. - -It could notice that there are no merge conflicts to be found, and so know -the merge failed for some other reason. However, what if there are both -merge conflicts and illegal filenames? Testing that situation, git merge -seems to always crash on creating the illegal files, before it updates -git state to reflect any merge conflicts. So, this approach seems to work. - -(It could also look for .git/MERGE_HEAD, which is written after a -conflicted merge.) - ----- - -Note that mentions of repo size etc later in this bug report don't seem to -be related to this problem. -"""]] |