Fossil SCM

fossil scrub --private sometimes remove private files that have been merged into public branches

Fixed

5f194e2c8f475ce… · opened 15 years, 1 month ago

Type
Code_Defect
Priority
Severity
Important
Resolution
Fixed
Subsystem
Created
March 4, 2011 11:22 a.m.

When: * A file is added in a private branch * This private branch is pushed to a remote server * This branch is locally merged to a public branch * The merge is pushed to the remote server

A fossil scrub --private executed directly on the remote server will delete the content of the file.

How to reproduce: $ fossil new a.fossil

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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button