| Ticket UUID: | 5f194e2c8f475ce9d5e8bde058c1e97d683f3ce5 | ||
| Title: | fossil scrub --private sometimes remove private files that have been merged into public branches | ||
| Status: | Fixed | Type: | Code_Defect |
| Severity: | Important | Priority: | |
| Subsystem: | Resolution: | Fixed | |
| Last Modified: | 2011-03-04 13:11:15 | ||
| Version Found In: | ae89a7ce79 | ||
| Description & Comments: | |||
When:
A fossil scrub --private executed directly on the remote server will delete the content of the file. How to reproduce:
$ fossil clone file://a.fossil b.fossil
$ mkdir test
$ cd test
$ echo "abcd" >test.txt
$ fossil add test.txt
$ fossil commit -m"test" --private
$ cd ..
$ fossil sync -R a.fossil file://b.fossil --private
$ cd test
$ fossil checkout trunk
$ fossil merge private
$ fossil commit -m"test"
$ cd..
$ fossil sync -R a.fossil file://b.fossil --private
$ fossil scrub b.fossil --private
$ fossil ui b.fossil Browse the files and observe that the content of test.txt is missing. I think that the problem is that when fossil receives a non-private manifest that points to a file that was previously private, it should mark that file's content as public and it doesn't. | |||