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. |