summaryrefslogtreecommitdiffstats
path: root/subcmds
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-03-04 14:26:50 -0800
committerShawn O. Pearce <sop@google.com>2009-03-04 14:26:50 -0800
commit43c3d9ea17f1436a6b3b2e7e7827da6f48a21da9 (patch)
tree9bfa77f57095fcd04901ee7783c78d49afdb1e9d /subcmds
parent4259b8a2ac0dddb54e98e00afc454bf966d4f058 (diff)
downloadgit-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.py17
-rw-r--r--subcmds/manifest.py44
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
16import re
16import sys 17import sys
17from formatter import AbstractFormatter, DumbWriter 18from 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
16import os
17import sys
18
19from command import Command
20
21class Manifest(Command):
22 common = False
23 helpSummary = "Manifest file"
24 helpUsage = """
25%prog
26"""
27 _helpDescription = """
28The 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)