From 1f75a1dff61a33dea973ebeea64a3bd8bccb715a Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Jul 2009 15:46:14 -0400 Subject: add README, HACKING, and other documentation --- README | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..d208edb --- /dev/null +++ b/README @@ -0,0 +1,72 @@ +////////////////////////////////////////////////////////////////////// + rvs - retroactive versioning system + versioning system that allows you to check + in commit 2 before commit 1 +////////////////////////////////////////////////////////////////////// + +CONTENTS: + 1 ) Introduction + 2 ) Building + 2.1 ) configuration + +////////////////////////////////////////////////////////////////////// +== 1: Introduction +The name is a little bit of a nod to RCS (revision control system), +and even less to CVS. I'm not particularly fond of CVS, but recognize +it's impact on the scm scene. + +rvs is about being able to go back and edit *anything* that has +already been committed. Yes, some other SCMs do this, but fuck things +proper if someone else has a copy of the old version. + +Why would you want to do this? Take for example the Bazaar repository +rvs is hosted on: It starts at 0.6.0, what if I later want to import +0.0.0 - 0.5.10? Or if I'm trying to construct a history of BSD, +and import all the BSDs I can find, such as 1,3,4, then latter find 2? + +== 2: Building +rvs doesn't exactly use the GNU build system, but acts much like it +does. To build rvs with default configuration, simply run: + $ ./configure + $ make + # make install +It's generally considered good practice to build in another directory +than the source directory, however, this is not the case fo rvs. In +fact, it must be build in the source directory. You needn't be +worried about it making the source direcotory messy, all source is +kept in `DIR/source', all finished files in `DIR/out', and all +temporary build files in `DIR/tmp'. + +=== 2.1: Configuration +There are several configuration variables that can be set. The default +values are kept in the file `Variables'. + +Variables is in the format `VAR_NAMEVALUE'. You can modify these +configuration variables by editing the `Variables' file directly, or +by running ./configure such as: + $ ./configure --VAR_NAME=VALUE + +The different configuration variables are as follows: +VER value='0.6.0' + rvs's internal varsion number +SHELL value='/usr/bin/env bash' + the shell that scripts will be run in. +prefix value="$HOME" + where the files will be installed. For me the defualt is + `/home/luke'. Many of you will want to change this to '/usr' +bindir value='bin' + the binaries folder inside the prefix. If I leave the prefix + and bindir the same, for me rvs is installed in + `/home/luke/bin'. If I change prefix to '/usr', then rvs will + be installed in `/usr/bin' +libdir value='/etc/rvs/' + where the rvs libraries will be installed. + in rvs almost nothing is actually done int the core binary + ([$prefix]/[$bindir]/rvs) but option handling. All the real + work is done in modular sub-programs. I call them libraries, + even though they are independend programs that communicate via + pipes. + +~ Luke Shumaker +Happy Hacking! + -- cgit v1.2.3-2-g168b