bk:/bkbits.net/u/bk/dev I have pushed the source for bk-7.3ce-rc1.
Please download and test. Most of the changes have been to the build infrastructure and I am most interested if someone has problems building.
And please download and build from the source tarball directly.
This version decouples a bunch of 3rd party tools. GNU diff and GNU patch are now gone and no longer built as part of bk. The libraries pcre, zlib, lz4, tomcrypt & tommath will now try to use the system’s versions instead of fetching and building the versions we included in the source repository. When not building from the bk repository with bk installed then these tools MUST be pre-installed.
The top level README.md in the source has an updated list of Debian packages that are needed to build. I would be happy to include package names for other systems if someone wants to figure that out.
Building on MacOS was interesting. The machine I was using used macports and after installing those libraries I needed to add the following lines to
TOMMATH_CPPFLAGS="-I/usr/local/include/libtommath" TOMMATH_LDFLAGS="-L/opt/local/lib -ltommath"
Because they put the tommath headers in a strange location.
The Windows version cannot build built from the
.tar.gz file and has to be built from the source repository according to our current instructions.
Release notes for BitKeeper version 7.3ce release June 16 2016 This release contains changes aimed at decoupling built-in packages from BitKeeper to make it easier to include to system packages. Since some functionality changed, but nothing major was added the minor version number was incremented. New features - The 'bk fast-import' command was added to quickly import git repositories into bk. This is the initial release of a work in progress. The following features are not yet implemented - incremental import - git repos with submodules - octopus merges - 'git fast-export -M' support - Add 'bk untag' command to delete tags and extend 'bk changes' output to show better information about tags. BK has always version controlled tags and it is possible to have the same tag at multiple places in the history. This release adds the ability to delete tags (previously you could move them but there was no way to delete them). bk changes -t shows only the currently tagged changesets; bk changes -tt shows all changesets even if the tag is moved/deleted and annotates them with that information: ChangeSet@1.2678.1.218, 2015-07-15 15:09:24-07:00, email@example.com Fix problem with t.status in tagged release TAG: bk-7.0 (currently on 1.2678.1.220) Changes - Removed the out-of-date version of GNU diff from our tree. The few places where BK assumed a GNU diff, it will now use the one on the system. There is an exception for Windows. If no diff is found BK will use a 2.8.7 binary that we still ship (upgraded from 2.7). This is part of a larger effort to unbundle all of the OSS packages that are likely to already be installed (and more up-to-date). - Rename the old "bk diffs" command to "bk diff". "bk diffs" remains as an alias. Scripts expecting on the "bk diff" to run a GNU diff should be updated to remove the "bk " prefix. - Removed the out-of-date verison of GNU patch from our tree. The code will now use whatever version of patch the user has installed. The 'bk patch' code will also call the system's patch(1) but will first scan the patch and runs 'bk edit' on all pathnames found in the patch. As a side-effect of this change we removed the 'bk import -temail'. It was not used and was too dependent on the exact version of patch used. - The libraries zlib, pcre, lz4, tomcrypt & tommath will now link to the system's copy instead of the using our included copies if a simplistic compile test works. The src/mkconf.sh script can be tweaked if these libraries are found in non-standard locations on your system. When building from a tar.gz these libraries must be pre-installed. - Update the documentation to describe 'bk get' instead of 'bk co' and 'bk delta' instead of 'bk ci'. The get/delta verbs have become the names for these operations and the documentation should reflect that. These commands were aliased before and after this release so no functionality has changed and no scripts should break. - When overriding a csets username with BK_USER, bk would record the new user and system's username together as "user/realuser". The code was changed to only display "user" in most cases. Visible changes: - annotations will only be username not user/realuser - changes -uUSER will now match just the user name - limiting by user in bkweb works - findkey can now search for user in the user/realuser case - As part of the tag delete changes a number of dspecs were changed - The $each() function was normalized to strictly walk each line (separated by newlines) of a dspec for processing. Previously :DSPEC: and $each(:DSPEC:) were separate and could do different things. - So the :C: macro was changed when not used in $each to return the comments with newlines. Previous it would join multiple lines without adding spaces which isn't very useful. - The tag releated dspecs changed: (these are lists separated by newlines) :TAGGED: all tags on delta that are still active :TAGS: all tags on delta and inactive ones are annotated if they are deleted or moved. :ALL_TAGS: Show all tags on delete active or not (old :TAG:) Some aliases were added for compability: :TAG: -> :TAGGED: :SYMBOL: -> :ALL_TAGS: - Rework some of the build dependancies in our Makefile so it no longer assumes that 'bk' is installed and tries to use the installed bk when building BitKeeper. Now the 'bk' binary is built first and that binary is used for constructing the manpages and GUIs. Bugfixes - Performance fixes for 'bk fast-export'. For large repositories the new code is a couple orders of magnitude faster. - Fix a couple more places where we were using the old dir/SCCS/s.file pathnames in error messages - Customer reported that pull failed to delete parallel deletes of symlinks. - Add DESTDIR support to makefike. - Fix 'bk' binary so if it has a chain of symlinks to the final location the code can still find the install directory. This simplifies packages for NixOS.