bk bam(7.3ce)               BitKeeper User's Manual              bk bam(7.3ce)

       bk bam - BAM utility routines

       bk bam check [-Fq]
       bk bam clean [-an]
       bk bam convert [<size>]
       bk bam pull [-aq] [<URL>]
       bk bam push [-q] [<URL>]
       bk bam reattach [-q] <->
       bk bam reload
       bk bam repair [-q] [-@<URL>]
       bk bam server [-flqrs] [<URL>]

       BitKeeper  Binary  Asset Management (BAM) is a subfeature that provides
       support for large binary files, such as tool  chains,  cell  libraries,
       game  data,  etc.   BAM differs from traditional binary storage in that
       the data does not need to be replicated in all clones, it may be lazily
       fetched on demand from a BAM server.

       The  bk  bam command is a utility command which provides interfaces for
       checking integrity of BAM files, removing "orphaned"  BAM  files,  con-
       verting  old binary files to BAM files, fetching BAM files from the BAM
       server, pushing local BAM files to the BAM server, or repairing  a  BAM
       pool.  In general, the convert or pull interfaces are most likely to be
       useful, the others are typically used debugging.

       In any operation with a "-q" option, that option means to run  quietly.
       The operations supported are:

       check    Check  that  the  BAM files are present and are not corrupted.
                If the "-F" option is included, then the corruption  check  is
                skipped.  Any files which are not found locally are looked for
                in the BAM server.  Note: currently there is no way  to  check
                for corruption remotely.
       clean    Remove  any  BAM files that are not referenced by any delta in
                the repository.  If the "-a" option is  included,  then  flush
                local  BAM files which are copies from the BAM server.  If the
                "-n" option is included, then just say what would be done  but
                do not do it.
                NOTE:  this  command should never be run in a BAM server since
                the server may have BAM files referenced only by clients.
       convert  Convert all files from  traditional  binary  encoding  to  BAM
                encoding.   Only  files  greater  than a certain size are con-
                verted since small files perform better with  the  traditional
                encoding.   The  size,  which  defaults  to  64K,  is compared
                against the initial version of each binary file, and  if  that
                version  is greater than the size the file is converted.  Note
                that the conversion may be run more than once,  but  the  size
                used can only decrease, it may not increase.
       pull     This  interface is used to transfer any BAM data that is miss-
                ing from the current repository or its BAM  server.   This  is
                useful  to  request  any missing BAM data after switching to a
                new BAM server.  With the -a option the local  BAM  server  is
                ignored,  so  all  BAM  data will be requested.  Normally, the
                local BAM pool contains  only  those  files  which  have  been
                either  checked  out locally or created locally, i.e., the BAM
                pool is sparse.  This command may be useful to populate a lap-
                top  clone with all revisions for disconnected operation or to
                set up a new BAM server.
       push     This interface is used to populate a BAM server with  any  BAM
                files  which  have  been  created  locally but not sent to the
                server.  In general, this command is not  needed  because  the
                BAM server is automatically updated if the local BAM files are
                either cloned or pulled to another repo.
       reattach Used to try and reinsert data into the BAM directory.  If your
                disk  crashed  and some files were lost from the BAM directory
                (which bk bam check -F will tell you) and you believe you have
                that data, you can tell bk bam reattach to put it back.
                For  each file specified on standard input, see if the hash of
                the file matches one of the missing files.   If  so,  reinsert
                that file.
       reload   The BAM pool has an on disk binary index that is used for fast
                lookups stored in:


                The data is also stored in a text format index:


                Should the binary index get corrupted,  it  may  be  recreated
                running this command.
       repair   Similar  to bk bam check except that it will attempt to repair
                any corrupted data.  By default, it will look for good data in
                the  BAM server, but you may specify a different location with
                [-@<URL>] (which may be repeated).
       server   Used to report or, with the optional <URL>, set the BAM server
                from  which  BAM  data will be fetched.  If the "-r" option is
                set then the current server URL  is  deleted.   When  the  BAM
                server  is  changed, this command will automatically query the
                new server and transfer any BAM data it is  missing  from  the
                old  BAM  server.   This  query and transfer may be suppressed
                with the "-s" option.  Use the "-f" option to  force  changing
                or  removing  the BAM server setting if the repository is cur-
                rently defined as a BAM server.  The "-l"  option  causes  the
                existing  BAM  server URL to be printed for scripts.  And "-q"
                can be used to  suppress  status  messages  when  the  URL  is

       bk Howto-BAM


BitKeeper Inc                         1D1                        bk bam(7.3ce)