Using Binary file in BaBar's CVS:

This page contains information about limited usage of binary files in the BaBar's CVS repository.

9 Dec 2003

  • Introduction of using binary files in CVS.
  • Basic steps to create a binary file in CVS.
  • How to commit new version of binary file to BaBar's CVS.

  •  
    

    Introduction of using binary files in CVS

    One potential problem with using binary files in CVS is that 'cvs update' might try to merge two versions of a binary file or expand keywords in this file. Merging binary files will generate tremendous waste since binary files do not use line by line records. To avoid these problems, use 'cvs add -kb <file>' to declare a binary file to CVS so that CVS won't expand keywords or merge two versions during 'cvs update'.

    There is currently a 200KB limit on the size of a binary file that can be committed to BaBar's CVS repository.

     
    

    Basic step to create a binary file in CVS.

       The procedure is:
    
            cvs add -kb {file}          [declare a binary file]
            cvs ci {file}               [commit this binary file]
    
    
     
    

    How to commit new version of binary file to BaBar's CVS.

    Due to limited disk space, BaBar allows only one version per binary file. You can save new version under different file name. If you absolutely need to reuse the same name for the binary file, use the following steps to replace the old version (not recommended):
       mv <file> <file>.old           [rename file to backup]
       cvs rm <file>                  [remove from local folder]
       cvs ci <file>                  [finalize the removal]
       rm $CVSROOT/<pkg>/<file>,v     [remove from Attic]
       mv <file>.old <file>           [restore file in local folder]
       cvs add -kb <file>             [commit as new binary file]
       cvs ci <file>                  [and finalize the commit]
    
    
    

     
    
     
    Maintained by Terry Hung. Send suggestions and additions to 
    
    terryh@slac.stanford.edu, 650-926-3618