Fix file-changed-to-dir and dir-to-file commits (issue660).
Allow adding to dirstate files that clash with previously existing
but marked for removal. Protect from reintroducing clashes by revert.
This change doesn't address related issues with update. Current
workaround is to do "clean" update by manually removing conflicting
files/dirs from working directory.
adding a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% should fail because not at a head
abort: repo has 3 heads - please merge with an explicit rev
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% should fail because > 2 heads
abort: repo has 3 heads - please merge with an explicit rev
% should succeed
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% should succeed - 2 heads
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% should fail because at tip
abort: there is nothing to merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% should fail because 1 head
abort: there is nothing to merge - use "hg update" instead