Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1872)

Unified Diff: depot_tools/gclient.py

Issue 203040: This adds a feature to gclient to allow the (optional) specification of the... (Closed) Base URL: svn://chrome-svn/chrome/trunk/tools/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « depot_tools/README.gclient ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: depot_tools/gclient.py
===================================================================
--- depot_tools/gclient.py (revision 25991)
+++ depot_tools/gclient.py (working copy)
@@ -262,29 +262,28 @@
""",
}
-# parameterized by (solution_name, solution_url, safesync_url)
-DEFAULT_CLIENT_FILE_TEXT = (
- """
-# An element of this array (a \"solution\") describes a repository directory
+DEFAULT_CLIENT_FILE_TEXT = ("""\
+# An element of this array (a "solution") describes a repository directory
# that will be checked out into your working copy. Each solution may
# optionally define additional dependencies (via its DEPS file) to be
# checked out alongside the solution's directory. A solution may also
-# specify custom dependencies (via the \"custom_deps\" property) that
+# specify custom dependencies (via the "custom_deps" property) that
# override or augment the dependencies specified by the DEPS file.
-# If a \"safesync_url\" is specified, it is assumed to reference the location of
+# If a "safesync_url" is specified, it is assumed to reference the location of
# a text file which contains nothing but the last known good SCM revision to
# sync against. It is fetched if specified and used unless --head is passed
+
solutions = [
- { \"name\" : \"%s\",
- \"url\" : \"%s\",
- \"custom_deps\" : {
+ { "name" : "%(solution_name)s",
+ "url" : "%(solution_url)s",
+ "custom_deps" : {
# To use the trunk of a component instead of what's in DEPS:
- #\"component\": \"https://svnserver/component/trunk/\",
+ #"component": "https://svnserver/component/trunk/",
# To exclude a component from your working copy:
- #\"data/really_large_component\": None,
+ #"data/really_large_component": None,
},
- \"safesync_url\": \"%s\"
- }
+ "safesync_url": "%(safesync_url)s"
+ },
]
""")
@@ -1131,9 +1130,11 @@
return client
def SetDefaultConfig(self, solution_name, solution_url, safesync_url):
- self.SetConfig(DEFAULT_CLIENT_FILE_TEXT % (
- solution_name, solution_url, safesync_url
- ))
+ self.SetConfig(DEFAULT_CLIENT_FILE_TEXT % {
+ 'solution_name': solution_name,
+ 'solution_url': solution_url,
+ 'safesync_url' : safesync_url,
+ })
def _SaveEntries(self, entries):
"""Creates a .gclient_entries file to record the list of unique checkouts.
@@ -1431,6 +1432,9 @@
# Run on the base solutions first.
for solution in solutions:
name = solution["name"]
+ deps_file = solution.get("deps_file", self._options.deps_file)
+ if '/' in deps_file or '\\' in deps_file:
+ raise Error("deps_file name must not be a path, just a filename.")
if name in entries:
raise Error("solution %s specified more than once" % name)
url = solution["url"]
@@ -1443,7 +1447,7 @@
self._options.revision = None
try:
deps_content = FileRead(os.path.join(self._root_dir, name,
- self._options.deps_file))
+ deps_file))
except IOError, e:
if e.errno != errno.ENOENT:
raise
@@ -1483,7 +1487,7 @@
scm = SCMWrapper(url, self._root_dir, d)
scm.RunCommand(command, self._options, args, file_list)
self._options.revision = None
-
+
# Convert all absolute paths to relative.
for i in range(len(file_list)):
# TODO(phajdan.jr): We should know exactly when the paths are absolute.
« no previous file with comments | « depot_tools/README.gclient ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698