Bk-7.3.1ce released 2016-09-30


BitKeeper version 7.3.1ce released Sep 29 2016

A smaller collection of bugfixes and new features. This is mainly
being released because of a bug introducted in bk-7.3 that caused some
older repositories to stop working.

New features

  • Add a simple mechinism for users to add new commands to BitKeeper.
    If ‘bk-foo’ exists on the PATH, then ‘bk foo’ will call that command.
    (git already does something similar)
    If you want ‘bk help foo’ to work, you do that by making 'bk-foo --help’
    produce whatever help you want. Your command must handle --help even
    if it just does nothing. The reason: if your command is potentially
    destructive and it doesn’t handle --help, it just ignores it, that
    could lead to a mess.

  • The dspec expression $first(:KEY:) was introduced in bk-7.0 but with a
    different less useful syntax. Now $first() has changed and is documented.

  • The bk send and bk receive commands will now correctly package
    csets from a nested repositories that impact multiple
    components. With this release nested csets can be transferred like

bk send -rRANGE - | | bk receive -

- The 'changes' command has new --short and --oneline command line
  options. See 'bk help changes' for details.

## Changes

- In the past, when running 'bk foo' where 'foo' is not a builtin
  BitKeeper command, the bk executable would try to execute 'foo' from
  the user's PATH. This could cause confusion and so this feature has
  been removed. Now and commands that are not understood by BitKeeper,
  or match the new bk-foo extention above, will print a command not
  found error.

- The dspec language used to extract metadata with 'bk changes' and
  'bk log' is now better documented in the 'bk help log' man page.

## Bugfixes

- In bk-7.3ce, a feature was removed where imports might put the user
  running the import after the hostname like this:
  This change introduced a bug where old csets created with that
  syntax were not read correctly if the repository was also in the OLD
  bk-5.0 syntax.

- Fix a problem with incremental fast-export on nested repositories

- Lots of fixes to the Makefile's to support parallel builds.

- Pathnames in RCS and SCCS keywords (see `bk help keywords`) are now
  correctly expanded using historical pathnames when fetch old
  versions of files that have been renamed. This was preventing
  `bk export -tplain -rREV DIR` for generating a perfect replicate
  of older releases that contain keywords.

- In BK/Web when looking at files changes, binary files are not
  reported correctly.