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

       bk collapse - combine recent changesets into a single unit of work

       bk collapse [-lqS] -e [-a<rev>] [-@[<url>]]

       bk collapse allows you to combine (collapse) the most recent successive
       changesets made in a repository.  You typically use this when  complet-
       ing  a  develop-review-test-debug-fix  cycle to combine a changeset and
       all its bug-fix and review-generated changesets into a  single  logical
       unit  of work.  In this usage, you specify a revision with "-a", speci-
       fying that all changesets since that revision be collapsed.

       Note: Currently, the "-e" option is required; the modifications  intro-
       duced  by  the  changesets  to be collapsed are applied to the affected
       files, which are left as locked, modified files in the repository.  You
       must  subsequently  use  bk  citool  or bk delta/commit to commit these
       edits as a single changeset.  bk collapse preserves  all  checkin  com-
       ments  for individual files and for the collapsed changesets; bk citool
       then uses these saved checkin comments to populate the comments  fields
       for all affected files and the ChangeSet file.

       You  can  use  bk  collapse without the "-a" option immediately after a
       checkin if you realize that the change was not done or  was  incorrect.
       You can do this "uncommit" on the most recent changeset only if you are
       positive that there are no other copies  of  this  changeset  in  other

       The  checkin  comments  are  preserved if you use bk citool to make the
       subsequent checkin.

       The -l option to bk collapse saves a list of the md5keys of all change-
       sets  that  have  been  replaced  by  the  this  command  in  the  Bit-
       Keeper/etc/collapsed file.  Later bk pull examines this file to prevent
       the  uncollapsed  csets  from being pulled into the repository with the
       collapsed versions.

       bk collapse saves a backup  patch  in  BitKeeper/tmp/collapse.patch  in
       case it turns out that the collapse was the wrong idea.

       -@[<url>]     If  the  current  repository  is a strict superset of the
                     repository at url then collapse will replace all  change-
                     sets  not in url with a single collapsed cset.  If url is
                     omitted then the  current  repositories  parent  is  used
       -a<rev>       Collapse all changesets that occurred after <rev>.
       -e            Leave  the  resulting  changes as locked, modified files;
                     you must run bk citool or bk delta/commit to  create  the
                     final changeset.
       -l            Record  the  csetkeys of the changesets being replaced in
                     the BitKeeper/etc/collapsed file.
       --standalone  Just collapse the current component.  This has no  effect
                     in  a  traditional standalone repository, but in a nested
                     collection, it collapses just the current  component  and
                     not the entire collection.
       --no-save     when  fixing  the entire changeset the normal behavior is
                     to save a backup patch of all the csets being removed  in
                     BitKeeper/tmp/collapse.patch   in   case  something  goes
                     wrong.  This option disables this safety net for a  minor
                     performance gain.
       -q            suppress most messages

       Fix a problem in the latest cset.

           $ bk collapse -e
           $ bk citool

       Collapse all csets not in my parent into a single cset.

           $ bk collapse -e@
           $ bk citool

       bk citool
       bk commit
       bk delta
       bk edit
       bk makepatch
       bk stripdel
       bk undo


BitKeeper Inc                         1E1                   bk collapse(7.3ce)