comparison tests/test-issue660.out @ 5483:0c43f87baba3 default tip

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Sat, 27 Oct 2007 16:27:55 +0400
parents
children
comparison
equal deleted inserted replaced
5482:7ceb740f2fef 5483:0c43f87baba3
1 adding a
2 adding b/b
3 % file replaced with directory
4 % should fail - would corrupt dirstate
5 abort: file 'a' in dirstate clashes with 'a/a'
6 % removing shadow
7 % should succeed - shadow removed
8 % directory replaced with file
9 % should fail - would corrupt dirstate
10 abort: directory 'b' already in dirstate
11 % removing shadow
12 % should succeed - shadow removed
13 % look what we got
14 A a/a
15 A b
16 R a
17 R b/b
18 % revert reintroducing shadow - should fail
19 abort: file 'b' in dirstate clashes with 'b/b'
20 % revert all - should succeed
21 undeleting a
22 forgetting a/a
23 forgetting b
24 undeleting b/b
25 % addremove
26 removing a
27 adding a/a
28 adding b
29 removing b/b
30 A a/a
31 A b
32 R a
33 R b/b
34 % commit
35 C a/a
36 C b
37 % long directory replaced with file
38 adding d/d/d
39 % should fail - would corrupt dirstate
40 abort: directory 'd' already in dirstate
41 % removing shadow
42 % should succeed - shadow removed