GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
* Sign Up! *

Support
Customer Portal
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
bk partition(5.4.3) BitKeeper User's Manual bk partition(5.4.3)

bk partition - transform a single repository into a nested collection

bk partition [options] [-Ccomponents | -@<url>] from to

The partition command is used to transform a single large repository to product composed of a collection of component repositories. The collection of component files is determined by the component list file, which is a list of directories which will become component repository roots.

To get the most flexibility out of using a partitioned repository, the partition should be done such that few, if any, files remain in the top level product. Best is if the top level product repository is only a collection of component repositories.

Partition will prune all deleted and missing files, and create an empty gone file. Any file that used to be in one component and was moved to another component will only appear in the most recent component.

As part of partition, it is possible to remove the record of some files that were accidentally added along the way, and or have since been removed and added to the gone file. A list of keys to be removed is stored in a prunelist file, one key per line.

To transform many repositories, first transform one into a layout you like. Then transform the others, using the -@url option naming the first post-partition repository. Each repository partitioned after the first must contain all of the csets of the first repository.

-@url
Instead of specifying components list and prune list, specify a url to a repository that has been partitioned. The result will be a repository that can communicate with that url, or partition will fail with messages about why it can't do that.


-Ccomponents
Specify a file containing the directories that will become component repository roots. The directories are listed in the file, one per line. Lines starting with # will be ignored, as well as blank lines.


-Pprunelist
Specify a file containing the keys to be removed before the partitioning begins. This is similar to running a bk csetprune before running bk partition. The difference is that the bk partition command will provide the stable -k parameter to the csetprune enable the resulting repositories to communicate with repositories that have gone through the same partitioning.


--keep-deleted Normally, partition prunes all deleted files.
Use --keep-deleted to keep the deleted history as part of the component the file was most recently in before being deleted.


-jN
Run the per-component portions of the partition in parallel using N processes. Useful for partitioning on multi-core machines.


-q Run quietly.

Suppose there is a repository which has two major subsections, called doc and src respectively. The repository has grown to be too large and people working on one part may not need the other part. The following steps would convert it to a product comprising many components, such as 'doc' and 'src'.

Create a file which defines the partition boundaries. Call it components:


$ cat components # These directory paths are the partition boundaries # Note that one can be under another: src and src/gnu # src would get everything under src that is not under src/gnu doc src src/gnu lib/graph lib/print # and the list could go on for hundreds of lines $
Then run the command to transform the original repo, called standalone in this example, into a nested collection of repositories, called nested.


$ bk partition -Ccomponents standalone nested
To partition another repository, you can reference the first partition you did instead of passing in the component list. Standalone2 must be a superset of standalone for the partition to work.


$ bk partition -@nested standalone2 nested2

Nested

%E% BitKeeper Inc

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.