Chapter 2. Recent News and Changes

Table of Contents
2.1. Package Version Management Changes
2.2. Package Build Management Changes
2.3. General Package Management Changes
2.4. Project Version Management Changes
2.5. Project Build Management Changes
2.6. General Project Management Changes
2.7. Pool Management Changes
2.8. ComPact Internal Shell (m3msh) Changes
2.9. ComPact Graphical User Interface Changes
2.10. General ComPact Configuration Changes
2.11. ComPact Installation Changes
2.12. ComPact Server and Service Changes
2.13. New ComPact Programs
2.14. Miscellaneous Fixes
2.15. Miscellaneous Features

Change descriptions listed in the following sections are may be marked with one or more letters according to their current state. The meaning of these markers is as follows:

i incorporated in inline manual (pgm -man)
m mentioned in manual
p partially integrated in manual
c completely integrated in manual
r manual integration reviewed
f fix only, no need to change docs


2.1. Package Version Management Changes

Here all the changes concerned with package version management are listed. Package version management is implemented primarily in pkgvm and pkgm, but also used in prjm and ComPactHTTPd.

  ---- [ic] -annotate option
  devel_pkg=build_d22_0_0:
    date: 1999/06/01 23:02:19;  author: wagner;  state: Exp;  lines: +1 -0
    added -annotate command option
       


  ---- [ic] possibility to use arbitrary tags
  devel_pkg=build_d22_0_4:
    date: 1999/10/07 15:53:24;  author: wagner;  state: Exp;  lines: +1 -0
    part of fix for compact-pkgvm/40:

    Now non-standard-conforming tags should be possible as far as
    ComPact is concerned.
       


  ---- [f] change set cvs-state-list-fix-01
    created by wagner at 2000.05.25.17.06.03
    description:
    fix (hopefully :-)
      ignore all lines produced by cvs -nq up that do not contain a blank
      as second character
    package changes:
      pkg_vc  devel_pkg=vc_d34_0_0 devel_pkg=vc_d34_0_1
       


  ---- [i] change set feature-new-pkg-log-and-vc-improvements
    created by wagner at 2000.06.27.12.55.38
    description:
    This change set introduces new style package logs.

    Changes:
     o new style package and file logs (without ComPact revisions instead
       of RCS version numbers)
     o old style logs available with -cvslog option
     o several improvements and fixes in pkg_vc (unneeded locks, performance,
       better interfaces)
     o miscutils now exports the module TextTextSeqTbl (Text.T --> TextSeq.T)
       which is gone from pkgconf
     o new command options for log configuration in pkgm and pkgvm
       (all combinations of -TRL)
     o updated online manuals and usage help

    package changes:
      miscutils     devel_miscutils_d25_0_3 devel_miscutils_d26_0_0
      pkgvm         devel_pkgvm_d10_2_0     devel_pkgvm_d11_0_0
      pkg_build     devel_pkg=build_d23_1_0 devel_pkg=build_d24_0_0
      pkgconf       devel_pkgconf_d17_1_6   devel_pkgconf_d18_0_0
      pkg_vc        devel_pkg=vc_d34_0_5    devel_pkg=vc_d35_0_0
       


  ---- [i] change set feature-force-tag
    created by wagner at 2000.07.05.12.48.54
    description:
    Used together with the -tag command, the -force/-F option now
     o suppresses warning and confirmation about not approved tag syntax
     o forces the tag to be moved if it already exists
    package changes:
      pkgvm devel_pkgvm_d11_0_1     devel_pkgvm_d11_1_0
      pkg_build     devel_pkg=build_d25_1_0 devel_pkg=build_d25_2_0
       


  ---- [i] change set feature-file-locking
    created by wagner at 2000.08.05.14.17.28 description: Elego
    ComPact now supports file locking. The basic locking scheme
    defaults to locking of binary files only; this can be changed to
    all or none files (vc-locking in compactrc) by default.

    The GUI has been extended by the following functions:

    Strict locking may also be explicitly enabled or disabled for
    individual files or directories.  Locks may are acquired by using
    Lock|Edit, and are freed with every Commit or Release. Changes may
    also be reverted by using Revert.  All editors of
    files/directories/packages may be listed with ShowEditors.  The
    Edit form in the header misc frame has been extended by a
    lock/don't option.

    More GUI changes:

    The change set functions have got some new buttons, and the text input
    field for changeset names has been replaced by a selection list.

    An xthml function to list all change sets (prjChangeSets) has been 
    added to the server.

    The ComPact GUI now allows selection of editors based on filename
    extensions and/or regular expressions matching file names
    (httpd-editor-EXT and filename-editor-mapping in compactrc).

    A bug inhibiting the correct expansion of empty `F' fields in HTTP
    queries into the list of selected files has been fixed.

    The command line utilities pkgm and pkgvm have also been extended:

    Strict locking may also be explicitly enabled or disabled for individual
    files or directories (command options -(no)strictlocking).
    Locks are acquired by using -lock|-edit, and freed with every -commit
    or -release. Changes may also be reverted by using -revert|-unedit.
    All editors of files/directories/packages may be listed with -editors.
    package changes:
      miscutils     devel_miscutils_d26_0_0     devel_miscutils_d27_0_0
      pkgvm         devel_pkgvm_d11_1_0         devel_pkgvm_d12_0_0
      pkg_build     devel_pkg=build_d25_2_0     devel_pkg=build_d26_0_0
      ComPactHTTPd  devel_ComPactHTTPd_d13_16_0 devel_ComPactHTTPd_d14_0_0
      pkg_vc        devel_pkg=vc_d35_0_0        devel_pkg=vc_d36_0_0
       


  ---- [i]  change set feature-file-locking-2
    created by wagner at 2000.08.12.16.45.52
    description:
    file locking should now be much more usable:
     o files are checked if they are readonly by the GUI
     o filename handling has been much improved for editing commands 
       in the GUI
     o appropriate error pages are displayed by the GUI if files cannot
       be locked
     o pkgvm and pkgm now also call an appropriate editor if -edit
       is used
     o a bug has been fixed in pkg_vc concerning the interpretation of 
       relative file names (which were considered to be relative to the
       current working directory, and are now also considered to be
       relative to the package root)
    package changes:
      miscutils     devel_miscutils_d27_0_0    devel_miscutils_d28_0_0
      pkgvm         devel_pkgvm_d12_0_0        devel_pkgvm_d13_0_0
      compactrc     devel_compactrc_d11_2_2    devel_compactrc_d12_0_0
      pkg_build     devel_pkg=build_d26_0_0    devel_pkg=build_d27_0_0
      ComPactHTTPd  devel_ComPactHTTPd_d15_0_0 devel_ComPactHTTPd_d16_0_2
      pkg_vc        devel_pkg=vc_d36_0_0       devel_pkg=vc_d36_0_1
       


  ---- [f] change set fix-revert-and-cvs-stdin
    created by wagner at 2000.08.18.15.02.05
    description:
    changes:
     o A new procedure to copy regular files has been added: FSUtils.Cp().
     o CVS.Unedit() should now work and really revert changes.
     o PkgVC.Revert() should now work.
     o CVS should no more hang waiting for input.
    package changes:
      miscutils     devel_miscutils_d29_0_1 devel_miscutils_d29_1_0
      pkg_vc        devel_pkg=vc_d36_0_4    devel_pkg=vc_d36_1_0
       


  ---- [] change set feature-improved-editor-listing
    created by wagner at 2000.08.18.16.59.53
    description:
    pkgm, pkgvm:
      The listing of editors has been proved. Specifying -l now also provides
      information about file, user, date, and host.

    Missing documentation for log options (-TRL) has been added.

    ComPactHTTPd:
      VCShowEditors now includes -l for long listing
    package changes:
      pkgvm         devel_pkgvm_d13_0_0         devel_pkgvm_d13_1_0
      pkg_build     devel_pkg=build_d27_2_0     devel_pkg=build_d27_3_0
      ComPactHTTPd  devel_ComPactHTTPd_d17_0_1  devel_ComPactHTTPd_d17_1_0
      pkg_vc        devel_pkg=vc_d36_1_0        devel_pkg=vc_d36_2_0
       


  ---- [p] change set feature-external-commit-hook
    created by wagner at 2000.09.03.15.57.06
    description:
    Commit messages for all commit and release operations are now checked,
    if the value `external-commit-hook' is defined in the environment
    (i.e. present in compactrc).

    The variables msg, msgfn, pkgname, pkgroot, user, repository, and all
    other elements of the environment will be substituted in the
    command. The standard ComPact variable syntax must be used ({?name},
    {:name}, {!name}). The command needs to be escaped in compactrc by
    starting it with an exclamation mark.

    The commit message is accepted if the external command returns 0.

    An escape syntax has been implemented that allows to keep variables
    unsubstituted in values after reading in compactrc resources. Just 
    start the value with `!'.

    Further commit check hooks that perform more sophisticated checks
    internally will be implemented in future versions.
    package changes:
      compactrc     devel_compactrc_d15_0_0 devel_compactrc_d16_0_0
      pkg_vc        devel_pkg=vc_d36_2_2    devel_pkg=vc_d37_0_0
       


  ---- [p] change set feature-external-commit-hook-extensions
    created by wagner at 2000.09.05.11.01.04
    description:
    There are now several more external hooks that are checked for different
    actions:

      package-commit                -> external-package-commit-hook
      package-release               -> external-package-release-hook
      project-snapshot              -> external-project-snapshot-hook
      project-release               -> external-project-release-hook
      project-change-set            -> external-project-change-set-hook

    If one of the above hooks is not set, but external-commit-hook is
    defined, this is used as the default.

    In the external command specified in compactrc to check the commit or
    log message, three additional variables may be specified:

      action      action name as above
      name        name of the new version, snapshot, release, or change set
      id          request id extracted from the log message, if present

    For the creation of change sets, the order of commit message requests
    and checks has been changed: Now the change set message is requested
    first (before any committing takes place), and it may be re-used as local
    commit message.
    package changes:
      prjm  devel_prjm_d24_0_2      devel_prjm_d25_0_1
      pkg_vc        devel_pkg=vc_d37_0_0    devel_pkg=vc_d38_0_0
       


  ---- [f] change set fix-checkout-performance-1
    created by wagner at 2000.09.25.13.59.45
    description:
    Due to a recent bug fix for CVS versions that leave over Entries.Log 
    files at checkout time, a recursive cvs log command was performed for
    the complete collection at every package checkout. This is somewhat
    overkill, since we are only interested in the package itself and the
    immediate parent directory.

    This fix adds `local' default parameter to several procedures of the
    CVS module and uses this feature to issue two more specific log
    commands instead of the former global one.
    package changes:
      pkg_vc        devel_pkg=vc_d38_0_1    devel_pkg=vc_d38_1_0
       


  ---- [f] change set fix-version-control-standard-output
    created by wagner at 2000.11.20.15.33.53
    description:
    Several changes concerned with the default output behaviour of version
    control actions:
     o make standard output independent of trace option (-q) option, so that
       logs, diffs etc. are output unconditionally in pkgm and pkgvm
     o add -q to diff commands in PkgBase.DefaultData
    package changes:
      pkgvm         devel_pkgvm_d13_1_2     devel_pkgvm_d13_1_3
      pkg_build     devel_pkg=build_d28_3_3 devel_pkg=build_d28_3_4
      pkg_base      devel_pkg=base_d27_1_2  devel_pkg=base_d27_1_3
       


  ---- [f] change set fix-pkgvm-arbitrary-tag-names
    created by wagner at 2000.11.20.17.22.15
    description:
    Accidentally, the suffix [undefined_format] that was created for 
    informational purposes only, found its way into the CVS repository
    as part of an tag name. This should now be fixed.
    package changes:
      pkg_vc        devel_pkg=vc_d38_1_7    devel_pkg=vc_d38_1_8
       


  ---- [f] change set fix-clean-shipping+release-precond
    created by wagner at 2000.12.12.15.03.39
    description:
    close some problem reports before branching: request id 100, 
    request id 103, request id 106

    fix: pkgm leaves cruft of previous version in pool
    fix: pkgm -rel: failure on locally removed files
    fix: pkgm -rel: failure on locally added files
    package changes:
      pkg_build     devel_pkg=build_d28_3_10  devel_pkg=build_d28_3_11
      pkg_vc        devel_pkg=vc_d38_1_11     devel_pkg=vc_d38_1_12
       


  ---- [f] change set fix_log_message_cleanup
    created by wagner at 2000.12.10.16.43.07
    description:
    cleanup of log message handling for package commits, releases,
    project change sets, project snapshots and releases, and project stable
    configurations:

     o PKG: lines are now always removed from the message (there were some
       cases where they were left inside)
     o appropriate local commit messages are now always suggested by the
       project manager
     o local commit messages are extended if necessary by some action 
       related information by the project manager
    package changes:
      prjm    devel_prjm_d26_0_7      devel_prjm_d26_0_8
      pkg_vc  devel_pkg=vc_d38_1_10   devel_pkg=vc_d38_1_11