bk collapse(7.3ce) BitKeeper User's Manual bk collapse(7.3ce) NAME bk collapse - combine recent changesets into a single unit of work SYNOPSIS bk collapse [-lqS] -e [-a<rev>] [-@[<url>]] DESCRIPTION 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 repositories. 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. OPTIONS -@[<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 instead. -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. -S --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 EXAMPLES 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 SEE ALSO bk citool bk commit bk delta bk edit bk makepatch bk stripdel bk undo CATEGORY Repository BitKeeper Inc 1E1 bk collapse(7.3ce)