From ae74a639e4a11249793442de694ae84d806d96f4 Mon Sep 17 00:00:00 2001
From: Erik Schnetter Carpet is distributed under the GNU General
- Public License (GPL). It might be released under the GNU
- Lesser General Public License (LGPL) in the future, to match the
- distribution terms of Cactus. There are currently three stable versions of Carpet available,
- plus the current development version. Versions 1 and 2 have been
- unchanged for quite some time, and should be considered outdated.
- There are no plans to make any further changes to these
- versions. Version 3 is the current stable version. There are no plans to
- make further changes to this version unless a serious error is
- detected. We recommend this version for the casual users and for
- production runs. Carpet is distributed under
+ the GNU
+ General Public License (GPL). It might be released under the
+ GNU Lesser General Public License (LGPL) in the future, to match
+ the distribution terms of Cactus. There is a stable version (version 4) and a development version
+ of Carpet available, plus several outdated versions. Versions 1,
+ 2, and 3 have been unchanged for quite some time, and should be
+ considered outdated. There are no plans to make any further
+ changes to these versions. Version 4 is the current stable version. There are no plans to
+ develop this version further, but errors will be corrected. We
+ recommend this version for the casual users and for production
+ runs. The development version will always see changes, some of which
might surprise you. You should not use it without keeping in
- close contact with the developers.Available Versions
-
Carpet is a driver for Cactus. It works as a part of Cactus, - and you will need to have the developers' version of Cactus - installed before you can use Carpet. Please look at the Cactus web pages for an - introduction to Cactus and for installation instructions.
+Carpet is a driver for Cactus. It works as a part of Cactus, + and you will need to have the Cactus installed before you can use + Carpet. Please look at + the Cactus web pages for + an introduction to Cactus and for install instructions.
Carpet consists of several arrangements, each living in a
- directory. The arrangement Carpet
contains the basic
- driver part that everybody needs. The arrangement
+ directory. The arrangement Carpet
contains the basic
+ driver part that everybody needs. The arrangement
CarpetExtra
contains useful add-ons and some example
- code. Development of experimental thorns happens in the
+ code. Development of experimental thorns happens in the
CarpetDev
arrangement, which means that the code in
- there is not to be trusted. And finally, there is a graveyard
+ there is not to be trusted. And finally, there is a graveyard
arrangement CarpetAttic
of things that only used to
be useful and are now in a state of decay.
(Don't miss the dot after the Carpet*
in the last
- line.) Instructions for using darcs are
- given below. You can also have a look at
+ line.) Instructions for using darcs are
+ given below. You can also have a look at
the version 2
source tree in your web browser.
Version 3 of Carpet is available via anonymous darcs:
@@ -94,43 +95,49 @@ cd arrangements ln -s ../carpet-stable-3/Carpet* .(Don't miss the dot after the Carpet*
in the last
- line.) Instructions for using darcs are
- given below. You can also have a look at
+ line.) Instructions for using darcs are
+ given below. You can also have a look at
the version 3
source tree in your web browser.
You can also obtain the darcs repository using wget - instead of darcs. For this, use the command
+ instead of darcs. For this, use the commandwget -r -nH -np --cut-dirs=1 -R "index.html*" http://www.carpetcode.org/\~darcs/carpet-stable-3/
This copies the darcs repository into a subdirectory called carpet-stable-3, in much the same way as - the darcs get command above would. That is, you also end + the darcs get command above would. That is, you also end up with a fully functional local repository.
-The development version of Carpet is available via - git:
+Version 4 of Carpet is available + via git:
cd Cactus git clone -o carpet git://carpetcode.org/carpet.git cd arrangements ln -s ../carpet/Carpet* .
(Don't miss the dot after the Carpet*
in the last
- line.) Instructions for using git are
+ line.) Instructions for using git are
given below.
The development version of Carpet is available + via Mercurial:
+cd Cactus + hg clone https://carpetcode.googlecode.com/hg/ carpetcode + cd arrangements + ln -s ../carpetcode/Carpet* .+
(Don't miss the dot after the Carpet*
in the last
+ line.) Instructions for using Mercurial are
+ given below.
Write access to Carpet git repositories is also handled via - ssh. Once you have an account set up, you obtain e.g. the - development version with
+Write access to Carpet git repositories is handled via + ssh. Once you have an account set up, you obtain Carpet via
cd Cactus git clone carpetgit@carpetcode.org:carpet.git cd arrangements ln -s ../carpet/Carpet* .
(Don't miss the dot after the Carpet*
in the last
- line.) Further instructions for using git are
+ line.) Further instructions for using git are
given below.
We use two different Carpet Mercurial repositories for code
+ development that we keep manually in sync. The Google Code
+ repository is mainly used to proved public read-only access;
+ development itself occurs at carpetcode.dyndns.org
.
+ Access to this Carpet repository is handled via ssh:
+
cd Cactus + hg glone ssh://carpetmercurial@carpetcode.dyndns.org/carpet + cd arrangements + ln -s ../carpet/Carpet* .+
(Don't miss the dot after the Carpet*
in the last
+ line.) Further instructions for using git are
+ given below.
The Carpet Mercurial server is also a courtesy + of Christian + D. Ott.
+Carpet is managed in darcs and - git repositories instead of a CVS - repository. Darcs and git have a number of advantages over CVS - for developers, such as:
+Carpet is managed in git + and Mercurial + repositories instead of CVS or SVN repositories. Git and Mercurial + have a number of advantages over CVS and SVN for developers, such + as:
and then some more, as described in - the darcs manual and - the git web pages.
+and then some more, as described on + the git web pages and + the Mercurial web + pages.
+The git web site contains - introductions and documentation for git. The Linux kernel + introductions and documentation for git. The Linux kernel developers also maintain a tutorial for - git. Git should be available for all modern operating systems. + git. Git should be available for all modern operating systems. It is also not difficult to install manually.
Git comes with a convenient graphical user interface
- called git-gui
. It allows you to update your code
+ called git-gui
. It allows you to update your code
from the master, commit local changes, compare branches, or push
local changes back to the master repository.
At some time you will want to update your version of Carpet and - incorporate some changes from the main Carpet repository. If you + incorporate some changes from the main Carpet repository. If you are not using the graphical user interface, then you do this with the command
cd Cactus/carpet git pull-
which will download and merge the current version. Git will +
which will download and merge the current version. Git will refuse to overwrite any conflicting local changes that you may have.
+The Mercurial web + site contains introductions and documentation for Mercurial. + Mercurial should be available for all modern operating systems. It + is also not difficult to install manually.
+ +On Mac operating systems, Mercurial comes with a convenient
+ graphical user interface called MacHG
. This allows
+ you to update your code from the master, commit local changes,
+ compare branches, or push local changes back to the master
+ repository.
At some time you will want to update your version of Carpet and + incorporate some changes from the main Carpet repository. If you + are not using the graphical user interface, then you use the + command
+cd Cactus/carpet +hg pull -u+
which will download and merge the current version. Mercurial + will refuse to overwrite any conflicting local changes that you + may have.
+ + +SSH has two mechanisms for authentication, typing a password, - or using ssh keys. When you use ssh keys, your private key is - (should) be protected by a password. That means that you + or using ssh keys. When you use ssh keys, your private key is + (should) be protected by a password. That means that you have to type this password every time you log into a different - machine. Some people protect their private ssh key with an empty + machine. Some people protect their private ssh key with an empty password --- in this way, they don't have to type a password, but - this is not very secure. If somebody is able to copy the private - ssh key, they have access to your remote accounts. Intruders can - use this hop from one machine to the next. Please do not use + this is not very secure. If somebody is able to copy the private + ssh key, they have access to your remote accounts. Intruders can + use this hop from one machine to the next. Please do not use empty passwords on your ssh keys.
-SSH-agent is a convenient way to make things safe. It is an +
SSH-agent is a convenient way to make things safe. It is an agent that starts automatically when you log in, and asks you for - your ssh key password once. It remembers this password in memory, + your ssh key password once. It remembers this password in memory, and whenever you use ssh to log into a remote account, ssh - contacts the ssh-agent for the password to the key. If this + contacts the ssh-agent for the password to the key. If this password is accepted, you don't have to type anything.
I use the following lines in my .bash_profile
to
@@ -304,7 +360,7 @@ git pull
keychain id_dsa test -f $HOME/.keychain/$(hostname)-sh && source $HOME/.keychain/$(hostname)-sh > /dev/null-
Keychain starts the ssh-agent. Keychain can also handle gpg +
Keychain starts the ssh-agent. Keychain can also handle gpg key passwords for your encrypted and/or signed emails.
@@ -325,7 +381,7 @@ test -f $HOME/.keychain/$(hostname)-sh && source $HOME/.keychain/$(hostn Erik Schnetter -Last modified: Sat Mar 01 2008 +Last modified: Tue Feb 15 2011