Commit Graph

680 Commits (a5c5b1b37b03d9f13fa0828a26024c511652da63)

Author SHA1 Message Date
rogerta@chromium.org caa1655dd6 Save the GIT hash of HEAD when uploading to rietveld.
Review URL: https://chromiumcodereview.appspot.com/12811006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@188807 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
hinoka@google.com 867e5b5377 Scripts to download files from google storage based on sha1 sums
continuation of: https://codereview.chromium.org/11664024
Moved it from chrome/trunk/src/build to depot_tools/

BUG=153360
TEST=two unittests included in tests/
For end-to-end testing, check out a large directory.  Run
find . -name .svn -prune -o -size +1000k -type f -print0 | upload_to_google_storage.py -b chrome-artifacts -0 -
(replacing chrome-artifacts with an upload-able bucket)
to test upload

run "find . -name .svn -prune -o -size +1000k -type f -print0 | xargs -0 rm" to remove the files uploaded.  Check that the large binary files have been removed

run "download_from_google_storage.py -r -d -b chrome-artifacts ." to download the files again.

Review URL: https://chromiumcodereview.appspot.com/12042069

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@187951 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 8a4a2bc611 Add skip_canned option to presubmit_support.
This will replace the hack in commit-queue/verification/presubmit_shim, and will
be used on the presubmit trybot.

R=maruel@chromium.org
BUG=

Review URL: https://codereview.chromium.org/12481002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186922 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
dpranke@chromium.org f6ddfa4ba0 Use author as determined from scm if we can not get it from rietveld
Until an issue is uploaded to Rietveld, we don't know the official
email address to use for an owners check. There are three ways to fix
this: we could attempt to log in to rietveld prior to doing the check
and extract the address to use, or we could use ~/.last_codereview_email_address,
or we can use the email address we can determine from the checkout.

All three options have flaws; the first is particularly awkward since there
doesn't seem to be a good way to fetch the email without posting an issue.
The second is flawed if we use different addresses for different repos,
and the third is flawed if the checkout's email address is different from
the rietveld address, or if it is anonymous.

However, since this is only being used for owners checks (in this case),
anonymous checkouts probably don't matter, and hopefully the cases where
the email addresses differ are rare.

R=maruel@chromium.org
BUG=118388, 150049


Review URL: https://chromiumcodereview.appspot.com/12377023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186259 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
sbc@chromium.org 5e07e0608c git cl upload now diffs HEAD rather than working tree
BUG=179131
TEST=./tests/git_cl_test.py


Review URL: https://chromiumcodereview.appspot.com/12388027

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@185366 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
dpranke@chromium.org dbf8b4edd4 Add a way to require approval from owners other than the author.
Right now we require approval from someone, and we require an owner
approval, but we don't require an approval from an owner *other than
the patch other*. It's conceivable that we might want this, so
I am making this a configurable argument to the presubmit check.

This will also be needed to ensure that we don't suggest you as an
owner for your own patches, when we actually know who you are.

R=maruel@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/12326151

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@185294 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
dpranke@chromium.org 6b1e3ee9e3 Change the OWNERS check to print files, not directories
Currently, when we run the OWNERS check, we print the list of directories
that contain the relevant OWNERS files for any modified files in a change
still needing approval. 

This has two problems:

1) if we bubble all the way up to the top level OWNERS, we print "" instead of
"src/" or something more useful (bug 157191)

2) for OWNERS files that contain per-file set-noparent entries (like changes to IPC messages), this can be really confusing because an owner of other stuff in the directory might've approved things already.

This change will now print the list of files in the CL that are still unapproved.
This might be a lot more verbose (since you get N lines rather than 1 for N files in a given directory), but hopefully it'll be clearer in the two cases above.

Also, this change takes care of some lingering clean-up in the code to rename some methods to be clearer.

R=maruel@chromium.org
BUG=157191




Review URL: https://chromiumcodereview.appspot.com/12314044

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@184219 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 3830a67f5f Make safesync w/ git hash work when lkgr is ahead of clone.
R=maruel@chromium.org, szager@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/12301002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@183275 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 1e7187a595 Make gclient_scm_test pass even if no global user name or email is defined.
R=maruel@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/12300002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@183044 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 16b514092c Fix parameters for git_cl and gcl.
TBR=maruel@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/12300005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@183022 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 25a4ab4397 Add patchset number on manual commit comment.
R=cmp@chromium.org, maruel@chromium.org


Review URL: https://chromiumcodereview.appspot.com/12276007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@182861 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
torne@chromium.org 0ecad9c05d Presubmit tests: allow 200 columns in .mk files.
The Android WebView code includes several manually-maintained .mk files
that are included by the Android build system. These contain some fairly
long lines as they need to refer to deep pathnames, which means the CQ
cannot be used as it always triggers a presubmit warning.

Allow .mk files to have 200 columns per line instead, which should be
enough for the long paths that are used. Add a test case for this.

BUG=


Review URL: https://chromiumcodereview.appspot.com/12252067

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@182733 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org b85a316315 Make gcl commit/git cl dcommit append a commit notification to rietveld.
R=maruel@chromium.org
BUG=163426

Review URL: https://chromiumcodereview.appspot.com/12047089

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@178975 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org 9d66f480c8 handle OWNERS suggestions where anyone can approve better.
previously we would return "*" as one of the suggested owners when
a CL included a file that anyone could approve. If the change had
other owners, the "*" was unnecessary, and if the change only included
wildcard-owned files, "*" isn't very helpful, so I've changed the text slightly.

R=maruel@chromium.org
BUG=169168


Review URL: https://chromiumcodereview.appspot.com/11867016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@177575 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 7b677f7a11 Fix RunPylint affected files regex issue
The AffectedSourceFiles query matches against files with paths relative
to repository root.  On the other hand _FindAllFiles checks white_lists
and black_lists against files paths relative to PRESUBMIT.py

As a result, when a PRESUBMIT.py is not at RepositoryRoot, RunPylint
can misbehave.

I fix this by modifying the white_lists and black_list regexes to
include the relative directory of PRESUBMIT.py.

Also adding some logging to pylint and simplified misc logic.


Review URL: https://chromiumcodereview.appspot.com/11776016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175364 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org c591a700cc Try #3 to improve the owners suggesting algorithm.
This version handles the case where we need to suggest two reviewers
who have overlapping sets of directories they can review.

R=maruel@chromium.org
BUG=76727


Review URL: https://chromiumcodereview.appspot.com/11639028

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174216 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org 5e5d37bf09 Revert "Try again to land the improved owners algorithm." again :).
TBR=maruel@chromium.org

Review URL: https://codereview.chromium.org/11638019

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173990 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org 055a0dee07 Try again to land the improved owners algorithm.
Initially landed in r173784, reverted in r173808

R=maruel@chromium.org
BUG=76727


Review URL: https://chromiumcodereview.appspot.com/11645009

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173979 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org 13f24eb0a8 Revert "Rework the owner-suggesting algorithm."
TBR=maruel@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11645008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173808 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org 1a54c22b73 Rework the owner-suggesting algorithm.
It turns out that we were weighting all possible owners equally,
and picking the last one out of the list. Given the way we traversed
owners files, and given that we got rid of the "set noparent"s, this
meant that we were always suggesting Ben for just about everything.

This change implements a much smarter algorithm that attempts to balance
number of reviewers and closeness to the files under review. The unit
tests added show specific examples and explanations for why things are
chosen the way they are.

R=maruel@chromium.org
BUG=76727


Review URL: https://chromiumcodereview.appspot.com/11567052

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173784 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
jam@chromium.org 1d3f02c716 Revert 171153 to add a presubmit check to check for closed issues.
BUG=161702

Review URL: https://chromiumcodereview.appspot.com/11566014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173104 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org b54a78ed9d Suggest owners for OWNERS files that only have per-file owners.
If you were creating a new OWNERS file that only had per-file owners
in it (and no catch-all owners for the whole directory), then we
would not look for suggested owners in parent directories, and end up
suggesting nothing. See https://chromiumcodereview.appspot.com/11555036/
for the CL that revealed this.

Also, the unit tests were incorrectly using absolute paths in some cases,
making the code less predictable; I've fixed the unit tests and added
a check for this into owners.py (real changes never used absolute paths,
just paths relative to the checkout root).

R=maruel@chromium.org


Review URL: https://chromiumcodereview.appspot.com/11569018

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173000 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 6bf2b45c51 Remove committed check from depot_tools presubmit
BUG=161702

R=maruel@chromium.org


Review URL: https://chromiumcodereview.appspot.com/11438024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171277 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org c50d761bca Add presubmit check for dcommitted / CQed CLs
We use the fact the dcommit adds a "Committed:" link to the
description.  If we wanted to be more strict, we could make
git cl dcommit post a comment on the CL (which would be nice
since it would notify reviewers that the CL was committed).

Note that this is untested as written, because it doesn't appear
that we have either git-cl integration tests, nor a test for
git cl dcommit adding the word "Committed:" so as written, this
presubmit check is prone to failure.  Would like suggestions to
improve.

Also adding DoNotSubmit checks and a couple others to
PanPresubmitChecks.

R=maruel@chromium.org,dpranke@chromium.org
BUG=161702

Review URL: https://chromiumcodereview.appspot.com/11421050

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171158 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 1fa5cb9ce3 Add presubmit check to verify issue is not closed.
This can come up when CQ closed an issue but the user's
local branch is still tied to the issue.

BUG=161702


Review URL: https://chromiumcodereview.appspot.com/11348122

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171153 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org d16e48b285 allow spaces on the per-file directives in OWNERS files
R=maruel@chromium.org
BUG=163030


Review URL: https://chromiumcodereview.appspot.com/11434048

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@170819 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 8ef7ab251c Don't call settings.GetIsGerrit() before parser.parse_args()
settings.GetIsGerrit() would invoke logging.basicConfig() and
preemtps the basicConfig for verbose option in parser.parse_args.

R=maruel@chromium.org,ilevy@chromium.org
BUG=162600

Review URL: https://chromiumcodereview.appspot.com/11418171

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169843 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org a78f7c0271 Rollback UpgradeToHttps for viewvc links
- Many chrome-internal viewvc links do not support https.  UpgradeToHttps
  was added 10 months ago  and continues to generate broken viewvc links.

Reverts part of crrev.com/9214004

BUG=107838

Review URL: https://chromiumcodereview.appspot.com/11412161

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169815 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 4bac4b5517 Create CachingRietveld to automatically cache results for presubmit checks.
Multiple presubmit checks may call the same function multiple times, so it's
worth caching the results to speed up the presubmit check run.

Convert presubmit_support, git-cl and gcl to use it.

R=dpranke@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/11280143

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169726 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
davidjames@chromium.org 13349e2d41 Remove more unversioned directories.
Currently, if an unversioned directory is present where we would expect
a versioned repository to be, the following error is printed:

  Can't update/checkout %s if an unversioned directory is present.
  Delete the directory and try again.

If --reset and --delete_unversioned_trees are used, gclient should delete
the unversioned directory in this case.

This problem can be reproduced using the following recipe:
  $ rm -rf src/third_party/webrtc/.svn
  $ gclient sync -nRftD

BUG=none
TEST=Verify that above error is fixed. Run all smoke tests.


Review URL: https://chromiumcodereview.appspot.com/11366239

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@167942 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org f2ed3fb1f0 Add gclient grep for git repos
- Adds a gclient grep command to search through git repos.

BUG=157950


Review URL: https://chromiumcodereview.appspot.com/11312116

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@167007 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org a0ad8ad9c9 'dep_os' paths override 'deps' paths.
BUG=157979


Review URL: https://chromiumcodereview.appspot.com/11368067

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@166247 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 0f58fa88ef git_cl sanity checks
Added checks:
- Block upload of a diff from sha not in current branch
  (this includes tracking against an unrebased local master)
- Block upload of a diff containing shas from origin/master
  (should never happen)

- Use explicit calls to git merge-base instead of calling git diff
   with "<branch>..." which implicitly uses merge-base.

BUG=157503

Review URL: https://chromiumcodereview.appspot.com/11262057

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@165887 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
stuartmorgan@chromium.org 18a4f6a798 Allow specificying that only target_os should be used in a gclient file
This allows specificying that a target OS list should override the base
list instead of adding to it. This is useful for iOS builds, where the
desired behavior is to pull only the iOS deps, not the union of the Mac
and iOS deps.


Review URL: https://chromiumcodereview.appspot.com/11363036

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@165671 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 259e46891c git-cl: show dirty files if any
R=chase@chromium.org,szager@chromium.org,maruel@chromium.org
BUG=157398
Review URL: https://codereview.chromium.org/11262004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@164026 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org 91668b7007 Improve the test.
BUG=155792


Review URL: https://chromiumcodereview.appspot.com/11274037

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163975 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org d45e73e88b Allow DEPS file to specify 'target_os'.
BUG=155792


Review URL: https://chromiumcodereview.appspot.com/11246004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163955 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org aebe87f424 Add gerrit Change-Id to commit messages if they do not have one.
BUG=156729


Review URL: https://chromiumcodereview.appspot.com/11236013

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163366 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org e3b1c3d1e3 Fix swapping of args in call to relpath() that was causing
OWNERS checks on DEPS to fail.

TBR=maruel@chromium.org
BUG=157022



git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163192 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
iannucci@chromium.org 7954005862 Allow users of git cl to disable git copy detection entirely.
Depends on rietveld cl: https://codereview.appspot.com/6726050/
BUG=155511

Review URL: https://chromiumcodereview.appspot.com/11195012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163092 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dpranke@chromium.org 17cc244cdb implement per-file OWNERS support
R=maruel@chromium.org
BUG=119394


Review URL: https://chromiumcodereview.appspot.com/11114005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@162529 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 27ca3a99b4 Add recursion=n syntax to DEPS files.
This will let DEPS files specify a higher local bound for recursion.
Note there is an edge case where a dependency can be initially pulled
in with a lower recursion level and then gets ignored subsequently
when a lower level DEPS overrides it's inclusion level and then
includes the same dependency.  I do not solve this case, as
I am intending to use this syntax for top level deps files.

BUG=155780


Review URL: https://chromiumcodereview.appspot.com/11146032

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@162464 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 1369150868 Make gclient sync use cpu count for default jobs
- On high core, fast machines, jobs=8 is does not offer good
  parallelization.  Switch to use number of local cpus.

R=maruel@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/11140019

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@162072 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
srdjan@google.com b531354fef Fix Issue 154553: gcl upload from within drover throws error
Adjust timeouts in PrimeLint.

BUG=154553

Review URL: https://chromiumcodereview.appspot.com/11122005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@161950 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org c51def3ff4 Restore previous behavior of GetSha1ForSvnRev, so unit tests pass.
Review URL: https://chromiumcodereview.appspot.com/11148019

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@161909 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org 270db5c246 Allow special java statements (for example imports) to be as long as neccessary.
BUG=152209


Review URL: https://chromiumcodereview.appspot.com/11043031

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@160956 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
iannucci@chromium.org 53937ba767 Add option to specify similarity level for git diff operations on commandline
BUG=125983

Review URL: https://chromiumcodereview.appspot.com/10945002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@159732 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 4dd9f7205a Make apply_issue.py much more verbose about what it's doing.
It's to help users figuring out what is happening.

TBR=rogerta@chromium.org
BUG=153284


Review URL: https://chromiumcodereview.appspot.com/11028002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@159504 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ec4a918139 Add --no-backup-if-mismatch so no .orig file is created when fuzzing occurs.
Nobody cares about those .orig files and they get in the way on the try server
for some specific license check.

R=cmp@chromium.org
BUG=152507


Review URL: https://chromiumcodereview.appspot.com/10983092

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@159329 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
lliabraa@chromium.org ade83db154 Add 'git clean -f -d' to 'gclient revert' when in a git repo.
The try slaves run 'git revert' to clean up from the previous run. This only runs 'git reset --hard', which does not remove any untracked files, so if a CL adds a new file it will still be present after 'gclient revert'. Adding git clean -f -d removes untracked files (-f) and directories (-d).

Review URL: https://chromiumcodereview.appspot.com/10986032

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@159020 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org e1a0376aa1 Fix applying svn:executable on Windows.
For an unknown reason, 'svn propset svn:executable * foo.sh' doesn't work on
Windows. It is even more awkward that 'svn propset svn:executable . foo.sh'
works just fine, in particular, subversion replaces the value, as long as it's
not an empty string, back to '*'.

R=petermayo@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10967071

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@158281 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org dffc73cb44 Fix applying git diff with new file mode 644 on a svn checkout.
svn propdel svn:executable shouldn't be called on it.

R=petermayo@chromium.org
BUG=150960


Review URL: https://chromiumcodereview.appspot.com/10962038

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@158038 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
jam@chromium.org 07d44398a2 Switch gcl/git upload to use https://codereview.chromium.org instead of https://chromiumcodereview.appspot.com. It's been a week since the SSL certificate got added, and the old DNS records had a TTL of 7 days.
Review URL: https://chromiumcodereview.appspot.com/10910225

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@156316 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
iannucci@chromium.org 1512ab681a Fix git_cl diffstat to use -l100000 to match upload.py
Enables git to correctly detect copies and renames simultaneously.

BUG=144408


Review URL: https://chromiumcodereview.appspot.com/10915190

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@155899 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 4c422e9b8c options.from_logs is not used anywhere since it's the default.
R=rogerta@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10887035

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@153976 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 17fa4beec4 Fix hunk handling for 'default hunk header values'.
Add new test cases to verify it properly handles "-1 +1, 2" and "-1 +1" for
short files.

R=petermayo@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10894036

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@153906 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org d254e84506 Fix depot_tools presubmit check for ubuntu 12.04.
R=cmp@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10828393

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@152752 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
gavinp@chromium.org 656326d43d Permit google app engine to be installed in testing_support.
I recently needed to run presubmit tests in depot_tools, and I was helpfully told:

$ gcl presubmit mychange
... eliding stuff ...
Install google_appengine sdk in /scratch/scratch/chrome/depot_tools_git/testing_support or higher up

This was a lie. If you put google_appengine there, the same presubmit
tools that told you to install it there will fail you for numerous
style violations contained within appengine itself. This change makes
us ignore those by blacklisting google_appengine inside of
testing_support.

Review URL: https://chromiumcodereview.appspot.com/10829293

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@151210 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
gavinp@chromium.org affe7b8148 Make git try warn on a dirty index.
Many, many times this has burned me badly; if you have a dirty index,
git try will just upload your commits, and not the index.

R=nsylvain@chromium.org
BUG=None

Review URL: https://chromiumcodereview.appspot.com/10836180

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@151202 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
wittman@chromium.org 492a368f6d Fix error syncing to LKGR due to misparsing of Cygwin git-svn output.
BUG=138104
TEST=


Review URL: https://chromiumcodereview.appspot.com/10826035

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@150952 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
joshua.lock@intel.com 426f69b485 Remove the use of urllib for SSL connections
Using urllib for SSL connections when behind a proxy is known to be
broken.

Upstream has fixed this in urllib2 in Python 2.6.3 and newer so
replace uses of urllib for SSL connections with urllib2 methods.

R=maruel@chromium.org
BUG=134165
TEST=gclient sync behind corporate proxy. Submitting this CL with git_cl.


Review URL: https://chromiumcodereview.appspot.com/10825107

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@149742 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
jamesr@chromium.org 35d1a84d76 Remove autogeneration of TEST= and automated check
Review URL: https://chromiumcodereview.appspot.com/10827059

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@148672 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 995f8ac254 Remove GitSvn*Checkout implementations.
They were not used, causing unnecessary code bloat.

R=cmp@chromium.org
BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10825009

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@148541 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
shouqun.liu@intel.com 13b522c1aa Fix the svn version check issue, append '--quiet' to get svn version string.
In some enviroments (eg, OSX zh_CN), use 'svn --version' and splitting string
may get error version string. Use 'svn --version --quiet' to do stable svn
version check, which directly returns version string such as '1.7.0'.

BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10805037

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@147670 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 49e3d807fd Fix stats output to be always the same and coherent with what is committed.
git cl dcommit statistics were not using --find-copies-harder, scaring the user
off.

R=cmp@chromium.org
BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10795003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@147343 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org 0f8a944d84 [depot_tools] Allow gclient runhooks to work offline w/safesync_url.
R=maruel@chromium.org
BUG=None (AFAIK)
TEST=Turn off networking, run gclient runhooks.

Review URL: https://chromiumcodereview.appspot.com/10750007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@145878 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org dae209fb46 Enforce utf-8 codec on all files read and write.
Otherwise, the files are opened in 'whatever happens to be the current encoding'
which is highly system-dependent. Even if some files are not encoded with utf-8,
the status quo is even worse. So it's worth trying out.

TBR=cmp@chromium.org
BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10697036

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@145306 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
chrisha@chromium.org 1b129e551f Pass arguments to pylint child process via a pipe.
This gets around command-line length limitations.

BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10654002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143620 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org c6ca3a198e Give up on verifying stdout for most git gclient scm tests.
The output is dependent on git's version. This is blocking the CQ.

TBR=petermayo@chromium.org
BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10559075

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143172 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 22a6876246 Fix Pylint presubmit check.
First, the environment variable for the child process was created but not
specified to subprocess.call().

Second, third_party/logilab/__init__.py tried to initialize itself with
pkg_resources.

TBR=chrisha@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10582031

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143111 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
chrisha@google.com 267d659c93 Add pylint to depot_tools.
This CL adds pylint (and its dependencies) to third_party. It plumbs them into presubmit_canned_checks, and exposes a command-line tool to access pylint.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10447014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143016 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org e84b7541ce Add test for git-svn with submodule/merge layout.
Review URL: https://chromiumcodereview.appspot.com/10543151

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@142479 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org 9bb85e2d87 Add support for new repo topology, with submodule-specific merge commits
on origin/master.

Review URL: https://chromiumcodereview.appspot.com/10537117

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@141958 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
cmp@chromium.org 5cf7022b80 Turn on git diff copy detection for git-cl upload.
Enable copy detection for git-cl upload.  This makes
it possible to copy a directory containing many files,
add+commit the new path, and then upload a patch to
Rietveld that shows the files were copied.

In my tests, -C -C was needed to pick up a basic
file copy.  -C was not enough.  I'm not sure why
exactly.  The output generated in the diff looks
like:

  sh$ git diff -C -C HEAD~1..HEAD
  diff --git a/slave/Makefile b/slave2/Makefile
  similarity index 100%
  copy from slave/Makefile
  copy to slave2/Makefile
  ...

(This change requires r141676 /
https://chromiumcodereview.appspot.com/10543116/ which
updates upload.py to use --find-copies-harder.)

R=maruel@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10545107

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@141689 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
cmp@chromium.org db9b0e3a04 Revert "Turn on git diff copy detection for git-cl upload."
This reverts commit db5a0def78.

TBR=maruel@chromium.org


Review URL: https://chromiumcodereview.appspot.com/10532034

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@140808 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org d4af662bd6 Automatically update submodule config entries on sync.
The effect of this is to preserve the behavior of `git status`,
i.e., only changes in the top-level repository will be reported.

Updated test expectations; I have no idea what I'm doing.

Review URL: https://chromiumcodereview.appspot.com/10454088

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@140396 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
cmp@chromium.org db5a0def78 Turn on git diff copy detection for git-cl upload.
Enable copy detection for git-cl upload.  This makes
it possible to copy a directory containing many files,
add+commit the new path, and then upload a patch to
Rietveld that shows the files were copied.

In my tests, -C -C was needed to pick up a basic
file copy.  -C was not enough.  I'm not sure why
exactly.  The output generated in the diff looks
like:

  sh$ git diff -C -C HEAD~1..HEAD
  diff --git a/slave/Makefile b/slave2/Makefile
  similarity index 100%
  copy from slave/Makefile
  copy to slave2/Makefile
  ...

Review URL: https://chromiumcodereview.appspot.com/10412027

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@140314 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 373af80c9e Revert r138874 "Automatically adds quotes on Windows when necessary"
This breaks _some_ msysgit uses cases. I'll investigate later.

TBR=cmp@chromium.org
BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10445042

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@139114 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 9165550283 Fix git_cl_test.py on Windows
R=maruel@chromium.org
BUG=none
TEST=python.exe git_cl_test.py

Review URL: https://chromiumcodereview.appspot.com/10442028

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@138964 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ca2b8e764e Automatically adds quotes on Windows when necessary
So that a command like
 "git config rietveld.viewvc-url http://src.chromium.org/viewvc/chrome?view=rev&revision="
works fine.

Fix the description automatically generated for the hooks to be using the same
code than for the one presented to the user.

R=cmp@chromium.org
BUG=
TEST=Tested manually on cygwin, win32, linux


Review URL: https://chromiumcodereview.appspot.com/10447021

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@138874 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
zork@chromium.org 04704f7b4a Readd missing unittests for owners
TEST=Run tests/owners_unittest.py


Review URL: https://chromiumcodereview.appspot.com/10384099

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@137041 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 3da8317843 Implement proper svn copy when a file is copied, moved or renamed
R=nsylvain@chromium.org
BUG=
TEST=A basic unit test verifies history is kept

Review URL: http://codereview.chromium.org/10310034

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135651 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
zork@chromium.org 046e175ff0 Output a list of suggested OWNERS reviewers when needed.
BUG=None
TEST=Change files that need OWNERS review.  Upload the patch.  Check that the warning suggests a minimum set of reviewers.

Review URL: https://chromiumcodereview.appspot.com/10222020

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135619 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ea15cb7791 Make checkout.*.prepare() delete the svn:ignored files.
Add corresponding support to scm.SVN.Revert() to clobber the svn:ignore'd files.

This makes the commit queue remove all the unversioned files, which could have
improved its stability. It failed in practice to improve it but it's still a
good thing to do overall.

R=petermayo@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/10355014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135333 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 264952ad00 There is no reason to not assume that status:null isn't 'M'.
Rietveld self-corrupts its status all the time, there is not point in bailing
just because of that. So just assume it's an 'M' and it'll work fine. In any
case, the diff is properly parsed to detect what was the real operation.

Add unit test that correctly process a deleted file with status:null.

TBR=nsylvain@chromium.org
BUG=
TEST=A corrupted patchset can still be committed with the Commit Queue.


Review URL: http://codereview.chromium.org/10272024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134733 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
peter@chromium.org 1efccc8bc7 Add the ability to specify a target_os for gclient solutions
This ability is useful for versions of Chromium (i.e. Android) which want to
cross-compile to another platform that has a fixed set of custom dependencies.

Review URL: http://codereview.chromium.org/10127004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134280 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 6208757463 Fix an error in gclient revert where a directory is unexpected and locked
This would spurious try job failures because the gclient revert step would throw
an exception.

R=cmp@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/10169034

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@133799 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ff9a217e26 Add disabled_warnings arg to RunPylint() and use the default pylintrc file by default.
Update pylintrc to be near the pylint 0.25.1 default file.

R=cmp@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/10199016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@133707 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 4f6852cca4 Remove python 2.5 compatibility code.
R=cmp@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/10165007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@133265 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
mukai@chromium.org 9e3e82c1b3 Check binary existence in gclient: 2nd try.
The first approach crrev.com/132446 was reverted due to
Windows build breaks. This approach is more robust because
it actually tests the binary by running the command actually.

BUG=114483
TEST=succeeded on Linux

Review URL: http://codereview.chromium.org/10103024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132783 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 2a0108ebdb Revert r132446 "Check the existence and executability of scm commands"
This completely broke syncing on Windows.

TBR=mukai@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9956149

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132451 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
mukai@chromium.org d15a8fa135 Check the existence and executability of scm commands
BUG=114483
TEST=manually

Review URL: http://codereview.chromium.org/10034011

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132446 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
kalmard@homejinni.com 6b0051e7c6 Allow overriding base-url in git-cl.
This is useful if git-cl has no way to find out the original svn repo's url
and the user does not wish to configure git-svn and fetch the repository.

Review URL: http://codereview.chromium.org/9969099

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@130372 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bauerb@chromium.org 4cea01ef65 Allow 'class Singleton<T>' in header files.
BUG=none
TEST='friend class Singleton<T>' is allowed.


Review URL: http://codereview.chromium.org/9756001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@127751 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
pam@chromium.org aba6776889 Add a message that the list of directories needing owners may not be accurate on first upload, because we have no way to know whether the user is an OWNER for any of them.
BUG=117974
TEST=covered by presubmit unit tests

Review URL: http://codereview.chromium.org/9692039

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126894 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@google.com b9a78d31ba Added `gclient hookinfo`. This will be used to convert hooks into
repo post-sync hooks.

Review URL: http://codereview.chromium.org/9232068

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126426 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 3ecc8ea477 Adds saner behavior for git try -t foo to not fail in a inexplicable way.
Enforces that each builder and builder:test association must be in its own list item in PRESUBMIT.py/GetPreferredTrySlaves().

If a user run git try -t foo, trychange.py will now take the list of all the
slaves, will skip any :compile builder, and apply the test filter to them.

Currently, git try -t foo on a chromium checkout throws an exception because of
PRESUBMIT.py files containing test specification.

R=petermayo@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/9664015

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125975 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 9eef4f27d0 Fix support for --bot bot1,bot2 -t foo
Previously, it would apply the test filter only on the last bot.

TBR=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/9634011

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125622 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
pam@chromium.org f46aed992a Show a list of directories missing OWNER reviewers on upload, and show directories rather than files missing OWNER approvals on commit.
BUG=117166
TEST=covered by presubmit unittests

Review URL: http://codereview.chromium.org/9621012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125588 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org dd44794218 Stop sending the testfilter= flag to the try server and process it locally.
The previous behavior would cause inproper parsing;
- the bot=bot1 flag would add 'bot1': ['defaulttests'] to the dictionary.
- the testfilter=test1 flag would append 'test1' to the list, causing the value
  to look like 'bot1': ['defaulttests', 'test1'].

I think on the long run the best is to keep --testfilter as a user interface but
not on the try server. This effectively stops sending testfilter=foo to the
server.

Add unit test to verify it's working properly. Refactor a bit to make unit
testing simpler.

R=petermayo@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/9599012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125405 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago