which is particularly helpful when one is using `gclient sync' on a platform
that does not have /bin/bash (ie. it's installed in another location or not
present at all), since the hooks are automatically added to the git
checkouts.
While here, just `exec' the scripts directly instead of invoking another
shell by hand and remove the redundant `exit 0' lines.
R=cmp@chromium.org,dpranke@chromium.org,szager@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19278004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@214181 0039d316-1c4b-4281-b951-d872f2087c98
> Use plain sh instead of bash in the git template hooks.
>
> The scripts are simple enough and should work fine under any POSIX shell,
> which is particularly helpful when one is using `gclient sync' on a platform
> that does not have /bin/bash (ie. it's installed in another location or not
> present at all), since the hooks are automatically added to the git
> checkouts.
>
> While here, just `exec' the scripts directly instead of invoking another
> shell by hand and remove the redundant `exit 0' lines.
>
> R=cmp@chromium.org,dpranke@chromium.org,szager@chromium.org
TBR=raphael.kubo.da.costa@intel.com
Review URL: https://codereview.chromium.org/21066002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@214178 0039d316-1c4b-4281-b951-d872f2087c98
The scripts are simple enough and should work fine under any POSIX shell,
which is particularly helpful when one is using `gclient sync' on a platform
that does not have /bin/bash (ie. it's installed in another location or not
present at all), since the hooks are automatically added to the git
checkouts.
While here, just `exec' the scripts directly instead of invoking another
shell by hand and remove the redundant `exit 0' lines.
R=cmp@chromium.org,dpranke@chromium.org,szager@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@214177 0039d316-1c4b-4281-b951-d872f2087c98
Latest dev appengine server defaults admin port to 8000
which isn't always available and can cause spurious
failures.
R=maruel@chromium.org
Review URL: https://chromiumcodereview.appspot.com/20904002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@214050 0039d316-1c4b-4281-b951-d872f2087c98
Add an option to apply_issue to fail if anonymous access
triggers a login prompt.
- cherry-pick upload.py rietveld cl 37c73ece82d0 which
allows clients to request no authentication.
BUG=240634
Review URL: https://chromiumcodereview.appspot.com/20634003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@214023 0039d316-1c4b-4281-b951-d872f2087c98
git cl was using system git cl.
- replace git cl status with GIT_CL_STATUS var
- add tested depot_tools to tip of PATH.
R=maruel@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/20889002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@214021 0039d316-1c4b-4281-b951-d872f2087c98
Convert monkey patching to class inheritance for OptionParser usage in:
commit_queue.py, gclient.py and trychange.py.
Monkey patching confuses the hell out of pylint.
R=jochen@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/19552004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213423 0039d316-1c4b-4281-b951-d872f2087c98
Instead of as branchref. Because it's an issue. Not a branchref.
Also, add myself as owner.
BUG=none
R=maruel@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19997004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213387 0039d316-1c4b-4281-b951-d872f2087c98
Add cache for issue properties.
Add --fast option in case the HTTP requests become an issue.
Everyone loves colors:
- White means no issue is associated with the branch.
- Red means no email was sent to request a review. Also red if the issue doesn't
exist anymore.
- Blue means the issue was not LGTM'ed yet.
- Green means the issue was LGTM'ed and is likely ready to commit or be CQ'ed.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/19967004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213265 0039d316-1c4b-4281-b951-d872f2087c98
Reduce the number of conditions and use more early exits to reduce the number of
code paths.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/19463011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213173 0039d316-1c4b-4281-b951-d872f2087c98
So that if the process dies in the middle, the files are easier to spot and
delete.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/19498004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213081 0039d316-1c4b-4281-b951-d872f2087c98
Add an option in DEPS files to clone a project into a temp dir
and then copy into expected final dir. This allows checking out a
git repo into a folder which is non-empty. It is useful for projects
that are embedded in src/ but want to specify the revision of
src/ in the embedded project (such as android private).
BUG=165280
Review URL: https://chromiumcodereview.appspot.com/19359002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@212720 0039d316-1c4b-4281-b951-d872f2087c98
Also open the altfile with 'w' because we assume ownership over the object
alternates. The logic to correctly support other alternates would be quite
complex, so don't even imply support.
R=maruel@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/19777004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@212426 0039d316-1c4b-4281-b951-d872f2087c98
This caused problems for repo-based projects that need to install the
standard Change-Id commit-msg hook.
With the commit-msg hook gone, we can also reinstate the --template
argument to 'git clone'.
BUG=235215
R=iannucci@chromium.org, ilevy@chromium.org, maruel@chromium.org
Review URL: https://codereview.chromium.org/18083033
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@211464 0039d316-1c4b-4281-b951-d872f2087c98
We can use this to evaluate the usefulness of making hooks run in parallel.
Review URL: https://chromiumcodereview.appspot.com/18851005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@211446 0039d316-1c4b-4281-b951-d872f2087c98
Git introduced a --3way argument to `apply` in version 1.7.12 [1]. This
provides a much nicer way to apply issues from Rietveld.
After this change, `git cl patch` will add --3way after checking the git
version for support.
[1] f247b10aa0
BUG=None
TEST=Ran `git cl patch <issue>` with both clean and unclean patches,
also checked behaviour of --reject is preserved.
R=maruel@chromium.org
Review URL: https://codereview.chromium.org/18966004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210695 0039d316-1c4b-4281-b951-d872f2087c98
Forcing function for developers to create a .netrc file.
BUG=
Review URL: https://codereview.chromium.org/18949002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210686 0039d316-1c4b-4281-b951-d872f2087c98
Sometimes we wish to pull in a complicated dependency but want to
suppress or replace one or more of the hooks rules. Say for example
we want to use a different way of generating the projects, or
have a different set of landmine expectations.
Here we add a custom_hooks section mirroring custom_deps to allow us to
override sections we have identified in the DEPS file. To do so,
we add an optional name to the elements of the hooks list, and overwrite
those whose name matches.
Conventions between included DEPS and the .gclient as to the meanings of the
name are equivalent to the meaning of the customized deps, and so do not
benefit from further structure or definition.
BUG=None
TEST=local unit test
Review URL: https://chromiumcodereview.appspot.com/17742004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210573 0039d316-1c4b-4281-b951-d872f2087c98
--no-pager looks ugly in logs and output and makes commands harder to
read. Setting an environment variable is better.
This is a followup to https://chromiumcodereview.appspot.com/14104005/
which added --no-pager.
Review URL: https://chromiumcodereview.appspot.com/18173003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210503 0039d316-1c4b-4281-b951-d872f2087c98
This is especially useful when you want to do something like:
git try -s third_party/WebKit
from the chromium root checkout.
R=dpranke@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/17703003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210409 0039d316-1c4b-4281-b951-d872f2087c98
timer, i.e. ~900 seconds.
This should at least help make 'fetch chromium' slightly more reliable
over somewhat slow connections.
BUG=230691,247173
R=rogerta@chromium.org
Review URL: https://codereview.chromium.org/18150002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210190 0039d316-1c4b-4281-b951-d872f2087c98
This enables significant time savings, especially since file_list only exists to
enable file-specific hooks (which, AFAIK, nothing actually uses). On a z620
(linux) using the cached git repos, a first-time `gclient sync --nohooks` takes:
* (with) 131.06s user 14.10s system 117% cpu 2:03.89 total
* (without) 482.13s user 189.35s system 144% cpu 7:45.63 total
This change makes nohooks cause file_list to be None if we don't need to
accumulate it, and updates GitWrapper and SvnWrapper appropriately.
R=szager@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/18541006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210026 0039d316-1c4b-4281-b951-d872f2087c98
Instead of cloning straight into place, clones are made to a global cache dir,
and then local (using --shared) clones are made from the cache to the final
resting place. This means the 'final' clones are full repos with no shenanigans,
meaning that branches, commits, etc. all work, which should allow the rest of
the gclient ecosystem to work without change as well.
The primary benefit is, of course, reduced network IO, and a much lower cost for
'clobber' operations (assuming we don't clobber the cache). It also means that
a given bot can have a greater number of checkouts, since the entire git history
will only be stored once per machine, instead of once per checkout.
R=dpranke@chromium.org, szager@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/18328003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210024 0039d316-1c4b-4281-b951-d872f2087c98
- Use config --local for properties that should be local.
- Remove git fetch retry logic, it should not be necessary
with the googlesource hosts.
- Include .strip() in GIT.Capture, simplifying other calls.
- Safer testing of whether dep revision is a sha.
- Fix refs/remotes/ DEPS branch detection
Review URL: https://chromiumcodereview.appspot.com/18262002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@209825 0039d316-1c4b-4281-b951-d872f2087c98
Able to pull internal tools, but distinct from the source that
those tools may eventually build.
TBR=cmp@chromium.org
BUG=252226
TEST=local buildslave
Review URL: https://chromiumcodereview.appspot.com/17351008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@209166 0039d316-1c4b-4281-b951-d872f2087c98
This will be used on the bots when calling apply_patch, which commits to git
repos.
R=dpranke@chromium.org,szager@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/18006002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@209040 0039d316-1c4b-4281-b951-d872f2087c98
Previously if one or both of these values were unset, the tests would simply fail
because `git config` returns 1.
R=dpranke@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/18053009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@208966 0039d316-1c4b-4281-b951-d872f2087c98
In order to support both developer workflow and not breaking bots, if the script
fails on a 403 in a bucket, it'll print a message asking developers to run
"download_from_google_storage --config" in order to create a new boto file.
This is not done automatically because it would break bots (Imagine hitting a 403,
and then gsutil wiping the .boto file, waiting for input, then dying).
BUG=231699,176331
Review URL: https://chromiumcodereview.appspot.com/17590010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@208806 0039d316-1c4b-4281-b951-d872f2087c98
This reverts commit 012dc07ce5.
Revert "Partially revert r208574 to get the CQ working again (hopefully)."
This reverts commit 74105cd2a0.
Pull the --no-commit change out completely.
TBR=dpranke@chromium.org
BUG=254556
Review URL: https://codereview.chromium.org/17944002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@208801 0039d316-1c4b-4281-b951-d872f2087c98