Description CVS
===============

CVS (concurent version system) is a commandline tool that maintains 
the individual states (different versions) of files in a network 
(lan (local area network) or wan (wide area network)). Typically, 
cvs is installed on a server, the other computers are cvs-clients. 
User can independantly checkout files to their local system, hack 
away, and commit the changes back onto the server when done. Many 
users can work on the same files at a time because cvs recognizes 
overlapping changes and notifys the user of these conflicts. This 
check is done at commit time, except for the user running update 
whenever he likes. So cvs does not require continous network 
connection for working with it.
Furtheron cvs has the ability to maintain several project version 
trees, merge changes between individual versions into a third 
version, as well as returning a detailed list of the project 
activities. All in all a complex project maintenance tool, which is
in use in many open source projects throughout the internet.


Description LinCVS
==================

LinCVS is a graphical Interface for the cvs client commandline tool
on the Unix, Mac OS X and Windows platform. It allows to load modules
from a server (checkout), create modules on the server (import), as 
well as checking the state of directories and individual files or 
updating them. Basic operations like add, remove and commit are 
supported as matter of course, just like showing the actual differences 
between the server version and the local sandbox, graphical display of
the version tree, and manifoldy graphical support of project 
maintenance. 
All actions are logged on the cvs server (configurable via history),
and are therewith comprehensible.
To keep LinCVS independent of the cvs version, LinCVS uses the local
but separately installed cvs and therewith always should work with the
latest version.

After choosing a startup dir, the project-explorer searches the 
subdirectories for cvs projects, and displays these on the workbench. 
Now all functions on one/many files or whole directories can be 
accessed over pulldown menues or simply a right mouseclick. The state 
of the individual directories is continuously scanned by LinCVS. This 
means the symbol of the dir tells the user that there are for example 
still uncommited changes somewhere in the depth of a dir hierarchy, 
even without having opened them yet. So the project state is visualized 
right after a cvs status call. Completed with on-the-fly dir scanning, 
LinCVS is qualified for large projects with many thousand files.
Because of the continuous efforts of network administrators, to 
encrease network security, LinCVS supports all standard cvs connection 
protocols. Proxy support is also available, this requires a patched cvs.
This is of course available on our download page.
Because LinCVS does not affect the cvs internal project maintenance, a 
concurrent use with cvs commandline is possible. The function of the 
LinCVS dir state display is not impaired therewith.

Even though LinCVS graphically supports almost the whole cvs range of 
functions (and is continuously under development;-), it is easy to 
customize the GUI to the individual needs. Popup menues are freely 
configurable, while the menues always provide full feature access. An 
extra toolbar enables direct access to often used features.

In contrast to other programs this one is REALLY easy to use ;-) . 



Feature list
============

LinCVS supports graphical:

Connect methods:
-local/nfs
-pserver
-ssh
-ssh-agent
-proxy

Special dirview features:
-dir-state track keeping
-disable/enable tree/dir
-continuous dir state monitoring (adjustable level)
-on-the-fly dir scanning
-open dir browser
-open shell
-expand all
-collaps all

Look and feel:
-Std/non-std dialogs
-customizable date/time format
-customizable font

Overall features:
-user/server profiles
-handle multiple projects simultaneously
-sub-project support (different CVSROOT) in one tree
-ascii/binary file support
-project properties
-per project settings
-reset/update to dir branch
-rename file/s
-user definable look and feel
-user definable icons/icon dir
-Application dir installation
-import binary/ascii preview
-browse modules on server, even without modules file
-view files without checkout, from history or log
-branch/tag/project-name/commit-info history
-tabbed view for cvs-controled/cvs-ignored/non-cvs files
-remove files local/in repository/both
-open with (startup option for just opening a specific dir)
-create new file/dir
-internal diff viewer with diff-per-line
-internal conflict resolver dialog
-use of external: editor/browser/shell/diff/remote shell
-per project autoupdate status/query update/update feature
-debug log function
-online help
-rename project (in sandbox)
-export current (modified) project state
-sub-project support (one dir tree with several cvs-projects)
-customizable popup menues
-customizable key shortcuts
-customizable file mapping, separtely for 'open' and 'view'
-syntax highlighting
-virtual dirs (show new dirs on query update)
-specify external apps with free adjustable commandline params
-modal dialogs (some)
-dran'n drop
-cut/copy/paste
-fetch and remember tag list
-overall datetime display in local timezone
-customizable language encoding/decoding


cvs features:
-checkout (branch/tag/date)
-import
-export (branch/tag/date)
-release/remove
-status
-query update
-show editors
-show watchers
-watch add/remove
-edit
-unedit
-history
-commit
-tag (add/remove/move/reset)
-branch
-update (to whatever revision)
-login/logout
-lock/unlock dir/files
-log (graphical zoomable multiple file revision tree)
-diff (to repository)
-visit file (from log tree or history)
-diff and merge (application/log tree)
-create patch (application/log tree)
-merge diff between rev1, rev2 into rev3 (application/log tree)
-annotate (with mult. filter functions)
-commit info templates
-.cvsignore support (global/local/environment/per directory)
-add ascii/binary
-readd (resurrect) files

There are definitelly more (all those we forgot;-),
and LinCVS is still under development ...
