Ticket Change Details
Not logged in
Overview

Artifact ID: ec0348c98c18e0e80ee7cce21d37e6955ab7176f
Ticket: 5f194e2c8f475ce9d5e8bde058c1e97d683f3ce5
fossil scrub --private sometimes remove private files that have been merged into public branches
User & Date: anonymous 2011-03-04 11:22:14
Changes

  1. comment changed to:
    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:
    <code>$ 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</code>
    
    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.
    
  2. foundin changed to: "ae89a7ce79"
  3. private_contact changed to: "ba07c6d5d3c5e044f8238154a7f39762cc1663cc"
  4. severity changed to: "Important"
  5. status changed to: "Open"
  6. title changed to:
    fossil scrub --private sometimes remove private files that have been merged into public branches
    
  7. type changed to: "Code_Defect"