|
tools useful for A-A-P
The intention for A-A-P is to use existing tools as much as possible. To find
out which tools can be used this overview has been compiled.
Some tools cannot be used directly, but function as an example or can be
invoked by A-A-P (e.g., commercial tools and programs which are not portable).
Unless noted otherwise, tools are open-source.
If you find a tool that would be useful for A-A-P but is not listed here, or
when information is incorrect, send a message to
Bram AT a-a-p.org.
Note: this list is not intended to be complete. Information that is
irrelevant for A-A-P is omitted.
Script languages
Build
Install
Issue Tracking
Version control
Browse
IDEs
Various
Version control and source code distribution
In A-A-P version control is more than storing all versions in one central
place. Versions of a program can exist in many places, sometimes only
consisting of a patch on top of a generic version.
Storing source code of a project in a place where others can download it from
is equal to distributing source code. Therefore this functionality is
included here. Tools for building from source code are found under
Build, tools for installing from binaries under
Install.
A-A-P intends to support many existing version control systems, because it's
not easy to switch to another one for existing projects. And "company rules"
may force a specific system upon you.
For new projects a flexible version control and distribution system is needed.
It should be:
- Easy to use
- Support many developers that are working in chaotic cooperation
- Support the existence of many different versions while working towards
one central version
The overview is used to get a good idea of which version control tools need to
be supported, and to find the one preferred for new projects.
- Arch
-
Still new, but claims to be better than CVS and Subversion.
Allows each developer to create a branch and make it available to others.
Interesting!
Several people have mentioned it works well. Should be supported by Aap.
- CVS
-
A widely used system for open-source software.
Disadvantages (Dave Brown):
- requires a central server
- commits are not atomic
- branches are painful
- rearranging directory structure is discouraged
- GUI frontends to CVS:
-
jcvs: in Java
SmartCVS: in Java, with netbeans
(free and commercial versions)
TkCVS: in Tcl/Tk
WinCvs: for MS-Windows, using MFC
MacCvs:
for Macintosh, using Metroworks Powerplant
gCvs: for Unix, using GTK+
LinCVS:
for Unix, using Qt, easy to use
MacCvsPro: for Macintosh, in C++
MacCvsClient:
for Macintosh, in C++
cervisia: in C++ with Qt library.
wxcvs:
in Python, using wxpython; not available yet.
Related items:
- cvsup
-
Updater for CVS. Used for FreeBSD ports. Works well.
Important for A-A-P.
- cvsweb
-
Viewer for files in CVS. Written in Perl?
- viewcvs
-
CVS viewer like cvsweb. Written in Python.
- Sand Web
-
Web based Sandbox management tool.
Based off ideas from CVSWeb and CVSWebClient.
Written using Object Oriented Perl.
In early development, might provide a few interesting ideas.
- cvswebclient
-
Branch of cvsweb.
Appears to be no longer supported.
- mkdist
-
Distribution builder, autoconf and CVS based.
- cvsutils
-
CVS release utilities. A few small scripts.
Could be used for ideas.
- cvs-nserver
-
CVS with rewritten network code.
Provides various authentication choices, as well as improved security.
- trug
-
Wrapper for CVS in Python.
Aims to be more process/activity oriented.
Doesn't look very interesting for A-A-P.
- kde-cvsbuild
-
CVS-updater and builder for building KDE. Bash shell script.
Can be used of an example of what A-A-P should be able to do.
- sfcvs
-
Tool for interfacing to CVS from Unix shell scripts and Python.
Only planned, nothing available yet.
Also: CVS community site
- Subversion
-
An improvement and complete replacement of CVS. Open source.
Supports renames, symbolic links, atomic commits, cheap branching and
tagging, etc.
Version 1.0 is now available.
- Aegis
-
An improvement and complete replacement of CVS. Open source.
Comprehensive system.
For Unix only.
Unclear how many people use this. Recommended by SCons author.
- Vesta
-
Configuration management for Unix in C++.
Also does building.
Mature, exists for ten years.
Comes from Compaq.
Uses a central repository, mapped onto a file system.
Uses a long list of commands.
Looks quite complicated, to be used by professionals.
Was commercial, but will be released as open source soon.
Provides some good ideas of what problems need to be solved (e.g., with
CVS, make and clearcase).
- Bitkeeper
-
Commercial. Recommended by several people. Handles renaming of files.
Free use is possible when "Open Logging" is used.
Closed source.
- Perforce
-
Fast Software Configuration Management System.
Uses a central database. Runs on many platforms. Commercial, free upto
two users.
Can perhaps be used for ideas.
- OpenCM
-
Claims to be better than CVS in the field of support for renames and
configuration, cryptographic authentication and access control, and
first-class branches. It realistic enough to mention that it is not as
feature rich as CVS.
Still under development.
No practical experience known.
- PVCS
-
Commercial Configuration Management tools.
Unclear how useful this is.
- Clearcase
-
Commercial Configuration Management tools.
Apparently widely used.
- sccs
-
Source Code Control System. Standard on Unix systems.
Simple tools, only for local systems.
Others tools provide much more functionality.
- rcs
-
The good old Revision Control System.
Simple tools, only for local systems.
Others tools provide much more functionality.
CVS is built upon RCS.
- continuus
-
Revision Control System. Now called "Telelogic Synergy".
Big and expensive.
Could be used for a few ideas.
- prcs
-
Works like CVS, SCCS, RCS et al.
Claims to be much simpler to use.
Does not support distributed development yet, client-server is being worked
on.
Appears to be slowly developed.
- SourceSafe
-
Commercial and only for MS-Windows.
It's used, thus A-A-P should interface with it.
- cbe
-
Code Building environment. Written in Java
Can also be used as a make system.
Can be file based or use a database.
Unclear how useful this is.
- project1
-
Web-based project management in Java. Includes Appointment, bug Tracking
System, Task Management, Product Management, Billing Modules.
Only in the startup phase.
|
|