This section contains all changes related to version management on project level, i.e. the creation and manipulation of bound and unbound configurations and change sets, or the commit and checkout of whole projects. Project version management is implemented primarily in prjm, but also used directly in ComPactHTTPd.
---- [ip] project status commands
devel_prjm_d14_0_0:
date: 1999/10/06 21:35:12; author: wagner; state: Exp; lines: +1 -0
solution for change request compact-prjm/11:
`prjm' now can display the status of packages in a more readable form
than with the `-showcache' command. The new options are
-showshortstatus | -shortstatus | -shortstat | -sstat
-showlongstatus | -longstatus | -longstat | -lstat
The shortstatus options print only the package tag and the version
control status, while the longstatus options print all the cache
attributes.
The new commands can be regarded as the mapping of the -sstat
option of pkg(v)m to all packages of a project.
---- [ip] local commit and autocommit of project packages
devel_prjm_d15_0_0:
date: 1999/11/11 23:56:50; author: wagner; state: Exp; lines: +1 -0
Several extensions have been implemented:
o The formerly recognized but unimplemented options
-commitlocal, -ciloc, -cil have been implemented and
documented in the usage help.
o The options -message, -msg, -file have been added to allow for
commit messages from the command line or files.
o The options -novc, -noversioncontrol have been added to disable
version control for project files.
o After creation of a new snapshot or release, all local files are
now auto-committed to the repository unless -novc is specified.
o The use of the state cache has been disabled to -showsnapshots
and -showreleases.
These changes require at least the following versions of libraries:
devel_pkg=vc_d33_1_4
devel_pkg=base_d22_4_0
devel_prjbase_d28_0_0
---- [ip] improved default behaviour of command newrelease
devel_prjm_d16_0_0:
date: 1999/11/12 12:44:56; author: wagner; state: Exp; lines: +1 -0
Fix for PR 79:
Change of -newrelease command: prjm now only creates new release
branches for those packages that are not currently checked out as
release. For the old behaviour the -forcerelease option must be
used.
UsageHelp has been updated accordingly.
---- [ip] new command makestablerelease
devel_prjm_d17_0_0:
date: 1999/11/12 15:41:36; author: wagner; state: Exp; lines: +1 -0
implementation for change request PR81:
new command options -makestablerelease, -stablerelease, -makestable
which create a named stable release branch mapping based on a
release description
---- [] confirm checkout of missing packages
devel_prjm_d17_0_1:
date: 1999/11/15 23:58:11; author: wagner; state: Exp; lines: +1 -0
part of fix for PR38: packages are checked out without warning
Prjm now passes a confirmation closure to the PrjDesc object it uses.
---- [ip] project diff listings
devel_prjm_d18_0_0:
date: 2000/01/31 16:57:13; author: wagner; state: Exp; lines: +1 -0
part of implementation for PR88 (prjm -diff|-cdiff|-udiff):
This commit uses the extended versions of
PrjDesc.T.applyToPackages() and selectPackages() as well as the
extended PkgBase.DefaultData file containing actions diff, diff1,
and diff2.
The command options
prjm [-k] -diff [-t <snapshot1> [-t <snapshot2>]]
prjm [-k] -cdiff [-t <snapshot1> [-t <snapshot2>]]
prjm [-k] -udiff [-t <snapshot1> [-t <snapshot2>]]
have been added, as well as the obligatory evaluation of the -t
options for package selections. The UsageHelp has been extended by a
short description of the diff commands.
---- [ip] change sets
change set change-set-basics
created by wagner at 2000.05.08.11.08.59
description:
Basic support for project-oriented change sets.
A ChangeSet module has been added to prjbase, the Snapshot module
has been extended to handle change sets, pkg_base and pkg_vc now
export some additional functionality, and prjm has been extended
by functions to create, edit, and apply change sets.
package changes:
prjbase devel_prjbase_d32_0_1 devel_prjbase_d32_0_1
prjm devel_prjm_d18_0_2 devel_prjm_d18_0_2
pkg_base devel_pkg=base_d23_0_2 devel_pkg=base_d23_0_2
pkg_vc devel_pkg=vc_d33_1_11 devel_pkg=vc_d33_1_11
This change set has not yet been propagated to the compact_1_1_stable
configuration.
---- [f] change set change-set-and-diff-fixes-01
created by wagner at 2000.05.25.12.54.12
description:
fixes for change sets and diffs:
o state cache knows about merge actions and resets properly
o PrjDesc.PackageUpdateSequence does no more crash with depGraph = NIL
o change set command line are evaluated correctly
o merge and diff actions are not executed in update order
package changes:
prjbase devel_prjbase_d33_0_1 devel_prjbase_d33_0_2
prjm devel_prjm_d19_0_3 devel_prjm_d19_0_4
---- [ip] change set feature-show-snapshot-and-package-paths
created by wagner at 2000.06.06.16.40.29
description:
new command options have been added to prjm:
| -showsnapshot <n>* | -showsnap <n>* | -ssnap <n>*
| -showrelease <n>* | -showrel <n>* | -srel <n>*
| -showpackagepaths | -showpkgpaths | -spp
Some ugly output handling has been cleaned up a bit, too.
package changes:
prjm devel_prjm_d19_1_3 devel_prjm_d19_2_0
---- [] change set fix-prjm-checkout-some-packages-01
created by wagner at 2000.06.06.17.43.05
description:
Checkout of some (not all) packages of a project using a given
configuration would not work, but should now (hopefully).
package changes:
prjm devel_prjm_d19_2_0 devel_prjm_d19_2_1
---- [im] change set feature-sort-snapshots-and-changesets
created by wagner at 2000.08.09.12.43.54
description:
In package prjbase, data structures and interfaces to sort snapshots
by name and change sets by name and type have been added.
The project manager now sorts lists of snapshots, releases, and change
sets alphabetically by default, while the change set log is displayed
in chronological order. Sorting order may be changed with the options
-nosort, -byname, -bydate, -reverse, -down.
package changes:
prjbase devel_prjbase_d35_0_1 devel_prjbase_d36_0_0
prjm devel_prjm_d21_0_0 devel_prjm_d22_0_0
ComPactHTTPd devel_ComPactHTTPd_d14_0_0 devel_ComPactHTTPd_d15_0_0
---- [ip] change set feature-snapshot-log-and-edit
created by wagner at 2000.08.16.21.26.29
description:
Several commands have been added to the project manager to list
snapshot and release logs and edit existing snapshots and releases:
| -showsnapshot [-l] <n>* | -showsnap <n>* | -ssnap <n>*
| -editsnapshot <n> | -editsnap <n> | -esnap <n>
| -snapshotlog [-mtime] | -snaplog | -ssl
| -showrelease [-l] <n>* | -showrel <n>* | -srel <n>*
| -editrelease <n> | -editrel <n> | -erel <n>
| -releaselog [-mtime] | -rellog | -rl
Some commands have been extended by an -l option to produce more
information when present.
The gui has been extended to allow viewing snapshot and release logs
as well as editing existing snapshots and releases.
The target window of several project version control status operations
has been changed to Viewer.
NOTE: GUI online help has not yet been updated to explain the new features.
package changes:
prjbase devel_prjbase_d36_0_0 devel_prjbase_d37_0_0
prjm devel_prjm_d22_0_1 devel_prjm_d23_0_0
ComPactHTTPd devel_ComPactHTTPd_d16_1_0 devel_ComPactHTTPd_d17_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-accept-unchanged-cslogs
created by wagner at 2000.09.06.18.11.48
description:
The project manager creates a meaningful local commit message for
change sets. Until now this message would be discarded if it was not
changed, as this was the default behaviour of PkgVCUtils.GetMessage.
package changes:
prjm devel_prjm_d26_0_0 devel_prjm_d26_0_1
pkg_vc devel_pkg=vc_d38_0_0 devel_pkg=vc_d38_0_1
---- [f] change set fix-rcsdate-conversions
created by wagner at 2000.11.03.14.22.31
description:
RCS date conversion (ToTime) was totally broken on non-POSIX systems,
since these usually don't work with an epoch of 1970. The relevant
code now checks if it is running on a POSIX or a WIN32 platform and
takes appropriate actions. RCS dates are checked for correctness
before they are processed. If any element has an impossible value, an
exception is raised by ToTime. ToTimeApprox has been added to allow
for more lenient error handling: it never raises an exception;
instead, it issues an error message and tries to correct the values.
In the prjbase package now ToTimeApprox is used throughout, which
should fix crashes of prjm and ComPactHTTPd due to incorrect RCS
dates.
package changes:
prjbase devel_prjbase_d37_0_9 devel_prjbase_d37_0_10
---- [f] change set fix-prjm-no-internal-pkg-release
created by wagner at 2000.11.20.16.33.02
description:
The project manager no more tries to release packages on its own,
but rather relies on the package manager or the version manager for
this task. This is important, because if the package can be built then
it _must_ be built before a meaningful release can be made, and only
the package manager knows how to do this.
This also implies that before any commitrelease actions on project level,
all the package dependencies must be known.
This change has temporarily been backed out because it breaks the
newrelease action of prjm. New strategies must be considered.
package changes:
prjbase devel_prjbase_d37_0_11 devel_prjbase_d37_0_12
prjm devel_prjm_d26_0_4 devel_prjm_d26_0_5
---- [i] change set feature-add-missing-import-export
created by wagner at 2000.12.11.10.42.24
description:
This change set adds the commands
-export <name> <fn> | -exp <name> <fn>
-import <fn> <name> | -imp <fn> <name>
to the project manager, which can be used to import change sets,
snapshot and release descriptions from ordinary text files and vice
versa. These are currently more or less convenience methods, since the
files are kept in the snaps subdirectory, but are randomly
named. Future versions may need these functions to import/export
information from a relational database. Anyway, a syntax check is
performed on every import.
package changes:
prjm devel_prjm_d26_0_8 devel_prjm_d26_1_2
---- [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