# @(#)TODO 1.6 11/07/10 Copyright 2006-2011 J. Schilling - wait(&status) ./sccs/sccs/cmd/src/admin.c ./sccs/sccs/cmd/src/delta.c ./sccs/sccs/cmd/src/prs.c ./sccs/sccs/cmd/src/sccs.c ./sccs/sccs/cmd/src/unget.c ./sccs/sccs/cmd/src/bdiff.c ./sccs/sccs/lib/comobj/src/dohist.c valmrs() ????: ./sccs/sccs/lib/comobj/src/dohist.c - Add "Schily" specific extensions like e.g. "sccslog" - a program that create changelog files from SCCS history files. DONE: sccslog is included since February 2007 - Port the Solaris "diff" command, include it with SCCS and put it into /usr/ccs/bin to make sure that SCCS has no line length limitation regardless of the platform it is used on. DONE: diff/bdiff are included since February 2007 - Enhance sccs(1) to allow recursive extraction when called "sccs get ." DONE: sccs -R has been introduced in August 2008 - Support BSD extensions like replacing a line that contains %sccs.somefile% with somefile from the project root. DONE: Support for %sccs.somefile% was added January 2008 - Support %d%, %e%, %g%, %h% with 4 digit year numbers DONE: Support was added January 2008 - Make sccs behave more correctly for SCCS sid timestamps > 2038/01/19 3:14:07 (GMT) DONE: SCCS uses 4 digit year numbers for a date past 2038 since January 2008 DONE: SCCS maps time_t values between 2038 and 2068 to time_t values between 1902 and 1932 since May 2011. - Make sccs warn if timestamps > 2038/01/19 3:14:07 (GMT) cannot be converted into a 32 bit time_t DONE: SCCS maps time_t values between 2038 and 2068 to time_t values between 1902 and 1932 since May 2011. - Make sccs Year 2069 clean by e.g. using 4 digit year numbers in this case. DONE: SCCS uses 4 digit year numbers for a date past 2038 since January 2008 - Enhance sccs(1) to allow to copy a tree of SCCS directories to a new destination via "sccs copy old-dir new-dir" - Enhance sccs(1) with a clone command that is expanded to: "sccs copy old-dir . ; sccs get ." - Add a new "release" tag similar to the "mr" tags to the SCCS file headers. To allow tagging parts of a tree to be part of a release snapshot. This will include a special DELETED and UNDELETED tag to allow to mark sccs history files deleted. - Allow to retrieve the exact version of a tagged tree (all SID versions for all files that carry as tag). - Allow to retrieve the the latest version of all files from a tagged tree (all SID versions for all files that carry as tag. - Add a new project-root understanding and a project-root lock that allows to do things on the whole tree. - Use a hacked librmt (from star) to implement remote operations via a ssh (and later web) tunnel. - Make it possible to use GMT timestamps in SCCS history files. This could be done by either: - Adding a new SCCS flag 'G' to switch the complete history file into GMT mode. The SCCS 'G' flag could have a "gmtoffset" parameter that counts in seconds to the east of GMT. But... old sccs versions do not work with upper case flags. We would need to use 'g' - Adding a "^AG gmtoffset" line to each delta table. Unfortunately this is is not accepted by old sccs versions. This is (similar to the first idea) hard to parse as the GMT offset would be on a different line than the time itself. - Use localtime + GMT offset. Instead of ^Ad D 1.2 07/01/27 15:05:05 joerg 2 1 use ^Ad D 1.2 07/01/27 15:05:05.12345+0100 joerg 2 1 to include sub second time granularity and GMT offset. This allows to use performant GMT time conversion as the actual GMT offset is present together with the time. This variant seems to be the best idea in case there is a conversion program that allows to export SCCS history files for compatibilty with old SCCS implementations. Help is needed with the following items: - Translating the messages and helpfiles - Add a remote access interface - Add highlevel commands for grouping a set of files into a release.