With the upcoming SCCS-6.0 we introduce a new SCCS history file format that
intentionally causes historic SCCS implementations to abort (to prevent file
corruption) but that can be easily converted back into a SCCS-5.x compliant 
history file using a conversion program. This conversion does not cause a loss
of information as the new information is encoded as special comment that is 
accepted by all other SCCS implementations except for currently version of
GNU "CSSC". The weave delta formatas introduced by Marc J. Rochkind at Bell
Labs seems to be the best way of dealing with deltas and branches and is 
retained in SCCS-6.0. 

Since SCCS-5.04, the first (partial) support for the upcoming SCCS v6 history
format has been introduced.

The planned enhancements for SCCS-6.0 are: 

-	New checksum line (the first line of a SCCS file). This is intended
	to cause historic SCCS versions to abort when reading the first line
	already tp prevent corruption from ignoring global locks.

	*** This is implemented already

-	Introducing a global project tree related lock file to allow SCCS to
	support atomic updates on whole projects and not only on single files.
	This is why we need to cause older SCCS implementations to abort as they
	otherwise would ignore the global lock and modify single files from the
	project.

-	Switching all time stamps in SCCS history files and p.* files from 
	localtime to localtime+GMT-offset in order to make SCCS able to be 
	used in a networked environment.

	*** This is implemented already

-	The ability to have compressed delta weave data will cause the SCCS 
	history files to be typically smaller than the "gotten" release of
	the file.

-	A new "escaped delta weave" format permits ^A to appear at the
	beginning of lines in text files. This format allows any file content
	that does not include null bytes.

	*** This is implemented already

-	A new subcommand "sccs init" will mark a project's root directory and
	switch SCCS into "project mode" as opposed to the historic
	"single file mode".

-	A new subcommand "sccs clone" will permit to import projects from a
	distributed SCCS server.

-	A new subcommand "sccs pull" will allow to update a private copy from
	the state of a distributed SCCS server.

-	A new subcommand "sccs push" will allow to update a distributed SCCS
	server from a private copy.

-	A new subcommand "sccs export" will export changesets as annotated
	patch files.

-	A new subcommand "sccs import" will import annotated patch files.

There are only a few additional features that could turn SCCS into a distributed
Source Code Control System.

Please join the discussion mainling list for the development of enhancements on:

	http://lists.berlios.de/mailman/listinfo/sccs-devel
	sccs-devel@lists.berlios.de


