summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2009-07-13 15:46:14 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-06-26 00:30:11 -0600
commit1f75a1dff61a33dea973ebeea64a3bd8bccb715a (patch)
tree841f8b9fa2a1e7f0d42413eb7a1afd3911ef7eba /README
parent3cdfa2a24cd8279ab5d5204d598f319b175940f2 (diff)
add README, HACKING, and other documentation
Diffstat (limited to 'README')
-rw-r--r--README72
1 files changed, 72 insertions, 0 deletions
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_NAME<tab>VALUE'. 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 <LukeShu@sbcglobal.net>
+Happy Hacking!
+