"COllaborative DEvelopment SHell is an intelligent shell,
which automatically logs a user's command line (shell) session:
commands, scripts executed, output produced, changes to environment
variables, alias creation and other information needed to recreate the
session later. This session is uniquely tagged and stored in local or
distributed backend repositories and can be extracted and reproduced
at any time by the user who created the session or by collaborators
located anywhere in the world.
The fundamental concept in CODESH is to store all the information
necessary to reproduce a user's session. This is achieved by
maintaining a virtual logbook, which records the initial state
(pre-conditions of a session), all the commands typed by the user, all
the outputs generated and also all the programs (shell scripts)
executed to produce the results. Also the changes made to the
environment i.e. environment variables and aliases are recorded. When
a user's session ends, or even before, if the user so desires, CODESH
tags the complete log along with the data and source program files
with a uniquely generated tag and logs it to a repository. The
repositories can contain hundreds and thousands of such stored
sessions.
Reproduction of a session is possible by extracting the log, data and
source files, and executing the commands listed in the log files
including running the scripts that are downloaded from the repository
in their original form as when the session was recorded. Later changes
or even deletion of scripts have no effect on the reproducibility of
sessions as the scripts can be retrieved from the repository anytime.
Also the environment changes can be carried across sessions. The
repositories of such sessions can be on the local machine for personal
usage or on shared servers for the use of collaborating
groups. Generally the user will store all his sessions locally and
'publish' a few important sessions to some shared repository. He may
also extract and reproduce stored sessions of other collaborators."
https://github.com/bourilkov/codesh
No comments:
Post a Comment