Beschreibung CVS
================

CVS (Concurrent Versions System) ist ein Kommandozeilenprogramm, 
das nderungen (verschiedene Versionen) von Dateien in einem 
Netzwerk (LAN (LocalAreaNetwork) oder WAN (WideAreaNetwork)) 
verwaltet. Typischerweise ist das CVS auf einem Computer installiert, 
der als Server fungiert, whrend die anderen Computer als CVS-Clients 
arbeiten. Benutzer knnen unabhngig voneinander Dateien auf ihr 
lokales System auschecken, dort bearbeiten und nach Abschluss ihrer 
nderungen wieder auf den Server zurckfhren (commit). Mehrere 
Benutzer knnen gleichzeitig an den gleichen Dateien arbeiten, denn 
CVS erkennt berschneidungen, und meldet diese als Konflikt dem 
Benutzer. Diese berprfung findet immer zum Zeitpunkt des commit 
statt, es sei denn der Benutzer stt diesen Prozess manuell an 
(update). Damit ist CVS nicht auf eine kontinuierliche Netzwerkver-
bindung angewiesen.
Weiterhin bietet CVS die Mglichkeit, mehrere Entwicklungsbume zu 
verwalten, nderungen zwischen einzelnen Versionen in dritte 
Versionen einzuarbeiten (merge), sowie eine detaillierte Auflistung 
aller Projektaktivitten abzurufen. Eine komplexe Projektverwaltung 
eben, die derzeit im Internet, vor allem im Open-Source-Bereich weit 
verbreitet ist.


Beschreibung CrossVC
===================

CrossVC ist eine graphische Oberflche fr den CVS-Client auf der 
Unix (Linux, *BSD, ...), Mac OS X und Windows Plattform. Sie gestattet 
es, Module vom CVS-Server zu laden (check out), Module auf dem Server 
anzulegen (import) sowie den Status von Verzeichnissen und einzelnen 
Dateien abzurufen oder zu aktualisieren. Grundlegende Operationen 
wie z.B. Hinzufgen, Entfernen und bernehmen sind ebenso 
selbstverstndlich wie das Anzeigen der aktuellen Unterschiede 
zwischen der zentralen Version (auf dem CVS-Server) und der lokalen 
(beim CVS-Client), graphische Darstellung des Versionsbaumes, sowie 
vielfltige weitere graphisch untersttzte Verwaltungsaufgaben. Alle 
Aktionen werden auf dem CVS-Server protokolliert (konfigurierbar 
ber die history) und sind damit jederzeit nachvollziehbar.
Um vom Entwicklungsstand des CVS unabhngig zu bleiben, greift 
CrossVC auf das lokal installierte cvs zu und ist damit immer auch mit 
der neuesten Version verwendbar.

Nach der Auswahl eines Start-Verzeichnises durchsucht der 
'Project-Explorer' Unterverzeichnisse nach CVS-Projekten und zeigt 
diese in der 'Workbench' an. Nun sind alle Funktionen fr 
einzelne/mehrere Dateien oder ganze Verzeichnisse per 
'pull down menue' oder durch einen Klick mit der rechten Maustaste 
verfgbar. Der Zustand der einzelnen Verzeichnisse im Projektbaum 
wird von CrossVC kontinuierlich berwacht. Das heisst der Benutzer 
erkennt auch ohne alle Verzeichnisse geffnet zu haben bereits am 
Symbol des Projektordners, das sich irgendwo in der Tiefe der 
Projekthierarchie zum Beispiel noch nicht eingecheckte nderungen 
befinden. So ist auch nach einem CVS status Aufruf sofort zu erkennen,
in welchem Stadium sich das Projekt befindet. Ergnzt um die 
Funktionalitt des on-the-fly dir scanning ist CrossVC damit auch 
fr grosse Projekte mit vielen tausenden Dateien geeignet.
Aufgrund der stndig aktuellen Bemhungen von Netzwerkadministratoren, 
Netzwerke sicher zu machen, untersttzt CrossVC alle gngigen CVS 
Verbindungsverfahren. Proxy Verbindungen werden ebenfalls untersttzt, 
hierfr ist es allerdings erforderlich ein gepatchtes CVS zu 
installieren. Dieses ist natrlich ebenfalls auf der Downloadseite 
verfgbar.
Da CrossVC nicht in die CVS Projektverwaltung eingreift, ist eine 
simultane Verwendung von CrossVC und cvs via Kommandozeile mglich. 
Dabei wird die Funktion der CrossVC Verzeichnis-Status-Anzeige nicht 
beeintrchtigt.

Obgleich CrossVC inzwischen fast den gesammten Funktionsumfang von 
CVS graphisch untersttzt (und kontinuierlich weiterentwickelt 
wird;-), ist es dank der Konfigurationsmglichkeiten ein leichtes, 
die Oberflche auf die individuellen Bedrfnisse abzustimmen. Popup 
Mens sind frei konfigurierbar, whrend in der Menleiste immer der 
gesamte Funktionsumfang zur Verfgung steht. Eine Werkzeugleiste 
bietet direkten Zugriff auf hufig verwendete Funktionen.

Im Unterschied zu anderen Programmen ist dieses wahrlich leicht 
und intuitiv zu benutzen ;-)



Featureliste
============

CrossVC 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
-collapse all

Overall features:
-user/server profiles
-handle multiple projects simultaneously
-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-controlled/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
-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

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 file revision tree)
-diff (to repository)
-visit file (from log tree or history)
-diff and merge (from log tree)
-create patch (from log tree)
-merge diff between rev1,rev2 into rev3(from 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 CrossVC is still under development ...