diff options
author | Shawn O. Pearce <sop@google.com> | 2009-03-04 14:26:50 -0800 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2009-03-04 14:26:50 -0800 |
commit | 43c3d9ea17f1436a6b3b2e7e7827da6f48a21da9 (patch) | |
tree | 9bfa77f57095fcd04901ee7783c78d49afdb1e9d /subcmds | |
parent | 4259b8a2ac0dddb54e98e00afc454bf966d4f058 (diff) | |
download | git-repo-43c3d9ea17f1436a6b3b2e7e7827da6f48a21da9.tar.gz |
Add a 'repo manifest' command whose help is the manifest file format
This should make it easier for users to discover the file format
on their own, and read about it.
Signed-off-by: Shawn O. Pearce <sop@google.com>
Diffstat (limited to 'subcmds')
-rw-r--r-- | subcmds/help.py | 17 | ||||
-rw-r--r-- | subcmds/manifest.py | 44 |
2 files changed, 58 insertions, 3 deletions
diff --git a/subcmds/help.py b/subcmds/help.py index a68e37d2..a1425e74 100644 --- a/subcmds/help.py +++ b/subcmds/help.py | |||
@@ -13,6 +13,7 @@ | |||
13 | # See the License for the specific language governing permissions and | 13 | # See the License for the specific language governing permissions and |
14 | # limitations under the License. | 14 | # limitations under the License. |
15 | 15 | ||
16 | import re | ||
16 | import sys | 17 | import sys |
17 | from formatter import AbstractFormatter, DumbWriter | 18 | from formatter import AbstractFormatter, DumbWriter |
18 | 19 | ||
@@ -106,14 +107,24 @@ See 'repo help --all' for a complete list of recognized commands. | |||
106 | body = body.strip() | 107 | body = body.strip() |
107 | body = body.replace('%prog', me) | 108 | body = body.replace('%prog', me) |
108 | 109 | ||
110 | asciidoc_hdr = re.compile(r'^\n?([^\n]{1,})\n(={2,}|-{2,})$') | ||
109 | for para in body.split("\n\n"): | 111 | for para in body.split("\n\n"): |
110 | if para.startswith(' '): | 112 | if para.startswith(' '): |
111 | self.write('%s', para) | 113 | self.write('%s', para) |
112 | self.nl() | 114 | self.nl() |
113 | self.nl() | 115 | self.nl() |
114 | else: | 116 | continue |
115 | self.wrap.add_flowing_data(para) | 117 | |
116 | self.wrap.end_paragraph(1) | 118 | m = asciidoc_hdr.match(para) |
119 | if m: | ||
120 | self.heading('%s', m.group(1)) | ||
121 | self.nl() | ||
122 | self.heading('%s', ''.ljust(len(m.group(1)),'-')) | ||
123 | self.nl() | ||
124 | continue | ||
125 | |||
126 | self.wrap.add_flowing_data(para) | ||
127 | self.wrap.end_paragraph(1) | ||
117 | self.wrap.end_paragraph(0) | 128 | self.wrap.end_paragraph(0) |
118 | 129 | ||
119 | out = _Out(self.manifest.globalConfig) | 130 | out = _Out(self.manifest.globalConfig) |
diff --git a/subcmds/manifest.py b/subcmds/manifest.py new file mode 100644 index 00000000..69906faa --- /dev/null +++ b/subcmds/manifest.py | |||
@@ -0,0 +1,44 @@ | |||
1 | # | ||
2 | # Copyright (C) 2009 The Android Open Source Project | ||
3 | # | ||
4 | # Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | # you may not use this file except in compliance with the License. | ||
6 | # You may obtain a copy of the License at | ||
7 | # | ||
8 | # http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | # | ||
10 | # Unless required by applicable law or agreed to in writing, software | ||
11 | # distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | # See the License for the specific language governing permissions and | ||
14 | # limitations under the License. | ||
15 | |||
16 | import os | ||
17 | import sys | ||
18 | |||
19 | from command import Command | ||
20 | |||
21 | class Manifest(Command): | ||
22 | common = False | ||
23 | helpSummary = "Manifest file" | ||
24 | helpUsage = """ | ||
25 | %prog | ||
26 | """ | ||
27 | _helpDescription = """ | ||
28 | The repo manifest file describes the projects mapped into the client. | ||
29 | """ | ||
30 | |||
31 | @property | ||
32 | def helpDescription(self): | ||
33 | help = self._helpDescription + '\n' | ||
34 | r = os.path.dirname(__file__) | ||
35 | r = os.path.dirname(r) | ||
36 | fd = open(os.path.join(r, 'docs', 'manifest-format.txt')) | ||
37 | for line in fd: | ||
38 | help += line | ||
39 | fd.close() | ||
40 | return help | ||
41 | |||
42 | def Execute(self, opt, args): | ||
43 | print >>sys.stderr, 'error: see repo help manifest' | ||
44 | sys.exit(1) | ||