~ubuntu-branches/ubuntu/intrepid/config-manager/intrepid

« back to all changes in this revision

Viewing changes to HOWTO

  • Committer: Bazaar Package Importer
  • Author(s): Anand Kumria
  • Date: 2004-01-14 02:46:24 UTC
  • Revision ID: james.westby@ubuntu.com-20040114024624-x9lrmmjqcpc7fip1
Tags: upstream-0.1p53
ImportĀ upstreamĀ versionĀ 0.1p53

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Building this software is the usual ./configure && make.
 
2
You may run it uninstalled if you wish.
 
3
 
 
4
Using it is a little more complex, but if you have been 
 
5
instructed to use it to get the source for some other 
 
6
piece of software, it's very easy:
 
7
./cm build -d <where you want the software checked out> config-file
 
8
 
 
9
i.e.
 
10
./cm build -d ~/src/project1 project1.txt
 
11
 
 
12
updating all the source in that project? <TODO>
 
13
 
 
14
Creating or altering a config? Read on.
 
15
 
 
16
A config is a plain text file describing the structure of a directory 
 
17
tree in terms of revision control projects. Creating one is as simple
 
18
as identifying the source for each revision control project that makes
 
19
up the tree, and recording that source along with the relative position
 
20
in a text file.
 
21
 
 
22
File format:
 
23
# indicates the beginning of a comment. comments go to end of line.
 
24
./ indicates the beginning of a project path, and must be followed by the
 
25
path, whitespace, and a project url.
 
26
other whitespace is ignore, and a line not beginning with ./ or # is
 
27
a syntax error.
 
28
 
 
29
project paths:
 
30
* must be relative.
 
31
* must be unique within a config. (duplicates are silently ignored).
 
32
* may be emtpy (that is "./") to indicate a root path.
 
33
 
 
34
normal paths: are passed to the appropriate sub commands with the leading ./
 
35
stripped.
 
36
root paths: are not used in tla build unless the -d option has been passed to
 
37
cm, in which case they are passed as "." to the sub commands. Root paths are
 
38
always used by cm cat.
 
39
 
 
40
url schemes:
 
41
a url scheme identified the particular type of Revision Control System (RCS) 
 
42
being used to access the project's source. Each scheme has it's own syntax.
 
43
The scheme is identified by the leading "<scheme>://" portion of the url. 
 
44
A missing scheme is treated specially, as a backwards compatability issue.
 
45
At this point, rfc 1738 en and de coding is not performed on the urls in the
 
46
config file.
 
47
 
 
48
The schemes:
 
49
Missing scheme: Treated as an arch category + optional branch, version and 
 
50
revision. 
 
51
arch://         As per the missing scheme, with an extension: supply @<url> 
 
52
after the arch details and if the arch repository is not registered, cm will
 
53
register it with tla on the fly. Any support arch location systax is supported
 
54
as long as it doesn't contain spaces.
 
55
pserver://      identifies a CVS pserver repository. See sample-config.txt for
 
56
details.
 
57
ext://          identifies a CVS ext repository. Your CVS_RSH must be set
 
58
appropriately before calling cm. Yes, this means all ext urls must share the 
 
59
same CVS_RSH. See sample-config.txt for CVS url examples.
 
60
http://         identifies a location based repository.
 
61
ftp://          identifies a location based repository. A location based 
 
62
repository is one where someone has simply stashed an archived copy of their
 
63
source tree. I.e. foo.tar.bz2. At time of writing, the following permutations
 
64
where supported: <foo>.tar[.(bz2|gz)]. location based repositories cannot be
 
65
updated per se: only extracted via cm build. The archive should contain one
 
66
and only one top level directory. That will be renamed to the requested path
 
67
at build time.
 
68
 
 
69
# Don't touch these trailing lines.
 
70
# arch-tag: 4caa8be7-2019-4ce9-b624-4242518fa21d
 
71
#