diff options
author | Conley Owens <cco3@android.com> | 2012-04-16 10:36:08 -0700 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2012-04-23 12:39:05 -0700 |
commit | 971de8ea7b7e474a4d9253b6c9f47da3f1130973 (patch) | |
tree | d8ac52741957b38d57d15f208e57b984d71ddc19 /subcmds/init.py | |
parent | 24c130884018364f91baa8de0ff3541f4c32d1bb (diff) | |
download | git-repo-971de8ea7b7e474a4d9253b6c9f47da3f1130973.tar.gz |
Refine groups functionality
Every project is in group "default". "-default" does not remove
it from this project. All group names specified in the manifest
are positive names as opposed to a mix of negative and positive.
Specified groups are resolved in order. If init is supplied with
--groups="group1,-group2", the following describes the project
selection when syncing:
* all projects in "group1" will be added, and
* all projects in "group2" will be removed.
Change-Id: I1df3dcdb64bbd4cd80d675f9b2d3becbf721f661
Diffstat (limited to 'subcmds/init.py')
-rw-r--r-- | subcmds/init.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/subcmds/init.py b/subcmds/init.py index 6cf39d14..d1c497c1 100644 --- a/subcmds/init.py +++ b/subcmds/init.py | |||
@@ -14,6 +14,7 @@ | |||
14 | # limitations under the License. | 14 | # limitations under the License. |
15 | 15 | ||
16 | import os | 16 | import os |
17 | import re | ||
17 | import shutil | 18 | import shutil |
18 | import sys | 19 | import sys |
19 | 20 | ||
@@ -87,7 +88,7 @@ to update the working directory files. | |||
87 | dest='depth', | 88 | dest='depth', |
88 | help='create a shallow clone with given depth; see git clone') | 89 | help='create a shallow clone with given depth; see git clone') |
89 | g.add_option('-g', '--groups', | 90 | g.add_option('-g', '--groups', |
90 | dest='groups', default="", | 91 | dest='groups', default='default', |
91 | help='restrict manifest projects to ones with a specified group', | 92 | help='restrict manifest projects to ones with a specified group', |
92 | metavar='GROUP') | 93 | metavar='GROUP') |
93 | 94 | ||
@@ -139,7 +140,12 @@ to update the working directory files. | |||
139 | r.ResetFetch() | 140 | r.ResetFetch() |
140 | r.Save() | 141 | r.Save() |
141 | 142 | ||
142 | m.config.SetString('manifest.groups', opt.groups) | 143 | groups = re.split('[,\s]+', opt.groups) |
144 | groups = [x for x in groups if x] | ||
145 | groupstr = ','.join(groups) | ||
146 | if groupstr == 'default': | ||
147 | groupstr = None | ||
148 | m.config.SetString('manifest.groups', groupstr) | ||
143 | 149 | ||
144 | if opt.reference: | 150 | if opt.reference: |
145 | m.config.SetString('repo.reference', opt.reference) | 151 | m.config.SetString('repo.reference', opt.reference) |