Commit Graph

1052 Commits (79b4bab70c8da5d2a3770d445648f053a66a96cc)

Author SHA1 Message Date
Andrii Shyshkalov 2517afd133 [git-cl] fix bug if user is not logged when fetching tryjob results.
<ExceptionObj>.message worked in py2, but not in py3.

R=ehmaldonado@google.com

Change-Id: I1f1302d453e9142b59de4ccab0298367bffde295
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2631495
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
4 years ago
Edward Lesmes 0e4e5ae594 Reland "[owners] Refactor OwnersClient."
Reland of [1].
Original CL contained some changes to --[tb]r-owners
which are not included in this CL because those changes
were reverted on [2].

- Remove GetChangeApprovalStatus and GetFilesApprovalStatus.
- Make host, project and branch part of GerritClient.
- Rename ListOwnersForFile to ListOwners.

[1] https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2587268
[2] https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2611219

Change-Id: Ife2051b8be0460d1c6bc4fbe4e3b0a571d12dafb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2616130
Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
4 years ago
Stephen Martinis 1c3c939119 Revert "[git-cl] Use owners client when processing --[tb]r-owners."
This reverts commit 968b1fe7d7.

Reason for revert: Appears to be breaking git cl upload for the recipe autoroller with https://logs.chromium.org/logs/infra-internal/buildbucket/cr-buildbucket.appspot.com/8858802226988308224/+/steps/infra/0/steps/git_cl_upload/0/stdout. 

Original change's description:
> [git-cl] Use owners client when processing --[tb]r-owners.
>
> Change-Id: Id094bce2aa731359cd8af16f10ce79ae7e02bd85
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2572809
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>

TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Id561a059eaf1419cbda52b7c0c6a45b5c6f2bd1e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2611219
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
4 years ago
Edward Lesmes b34cd6d8fa Revert "[owners] Refactor OwnersClient."
This reverts commit 9c7f6c25c0.

Reason for revert:
Not working
https://logs.chromium.org/logs/infra-internal/buildbucket/cr-buildbucket.appspot.com/8858807889610091152/+/steps/franky/0/steps/git_cl_upload/0/stdout

Original change's description:
> [owners] Refactor OwnersClient.
>
> - Remove GetChangeApprovalStatus and GetFilesApprovalStatus.
> - Make host, project and branch part of GerritClient.
> - Rename ListOwnersForFile to ListOwners.
>
> Change-Id: I1f610a64f0217ce54e5ce4a210026535adc1c2e5
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2587268
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Gavin Mak <gavinmak@google.com>

TBR=ehmaldonado@chromium.org,gavinmak@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I4928df90856526210a4fd4d104e6cc96aa005bc2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2613925
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
4 years ago
Stephen Martinis d48aa437c9 Followup fix for https://crrev.com/c/2587268
https://crrev.com/c/2587268 changed function signatures to remove a
project argument. One function call was missed in the CL. This CL fixes
the function call.

Change-Id: Ice45072aa467ed6c56efabf405a7aac03f4b047c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2613785
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
4 years ago
Josip Sokcevic b038f724ec Update error message if unable to determine branch
git cl format can't accept branch name as argument as those are reserved
for files that need to be formatted. This CL clarifies what user needs
to do in case git cl is not able to determine upstream branch.

R=apolito@google.com, ehmaldonaldo@chromium.org

Bug: 832295
Change-Id: If6ff517d633b7e70a33dff48f3779f82df30f214
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2571838
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
4 years ago
Josip Sokcevic b631a88c6e Run git fetch with --prune on failed git cl upload
git fetch --prune removes all references that no longer exist on remote
server. This allows git cl to upload changes to correct destination
branch.

R=ehmaldonado@chromium.org

Bug: 1149640
Change-Id: I66bf8d2209242b08991c2dae0d3a7fbc892cef87
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2606613
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
4 years ago
Edward Lesmes cf06cad1be [subprocess2] Replace VOID with DEVNULL
subprocess.DEVNULL was introduced in Python3 to serve same purpose
as subprocess2.VOID, so rename VOID to DEVNULL in subprocess2.

Change-Id: I6dade3306ffc3bc2441ac6083f362b099c2427e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2587758
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
4 years ago
Edward Lesmes 9c7f6c25c0 [owners] Refactor OwnersClient.
- Remove GetChangeApprovalStatus and GetFilesApprovalStatus.
- Make host, project and branch part of GerritClient.
- Rename ListOwnersForFile to ListOwners.

Change-Id: I1f610a64f0217ce54e5ce4a210026535adc1c2e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2587268
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Gavin Mak <gavinmak@google.com>
4 years ago
Gavin Mak e6a623392d [depot_tools] Use logging.warning
logging.warn is deprecated and should be replaced with logging.warning.

Bug:1097402
Change-Id: I55ce007bec47608eeafcf3cd9ac2b90f60073115
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2575621
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Gavin Mak <gavinmak@google.com>
4 years ago
Gavin Mak 18f45d2874 [depot_tools] Fix CMDlol
Hidden ascii art in git_cl.py needs to be decoded to utf-8 to print correctly.

Bug:1106660
Change-Id: Ie41490c789534ea6cb589bbc96aa06cd251943f8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2575620
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
4 years ago
Edward Lesmes 968b1fe7d7 [git-cl] Use owners client when processing --[tb]r-owners.
Change-Id: Id094bce2aa731359cd8af16f10ce79ae7e02bd85
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2572809
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
4 years ago
Edward Lesmes 8a791e7cf7 [git-cl][owners] Use new API to suggest batch owners.
Change-Id: I2e2b0aff583e6d9b36261acbef87221e29fe7923
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2565145
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
4 years ago
Andrii Shyshkalov a3762a907c git cl comments: shorten long URLs if possible.
R=ehmaldonado

Before:
  https://chromium-review.googlesource.com/c/2552792/3/cv/internal/gerrit/gerritfake/fake.go#321
After:
  https://crrev.com/c/2552792/3/cv/internal/gerrit/gerritfake/fake.go#321
Change-Id: Ie6044e2743c4359bc30c98d8915edd9119d4a386
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2556837
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
4 years ago
Edward Lesmes eeca9c6ee7 [owners][git-cl] Use owners client to show all owners for a file.
Change-Id: I04949d95ca466452a58ea91cf2db86852c0621bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2551378
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Anthony Polito <apolito@google.com>
5 years ago
Sigurd Schneider 9abde8c3f3 Reland "Add option to git cl st to sort by committer date"
This is a reland of 9ca89ac1f4

Original change's description:
> Add option to git cl st to sort by committer date
>
> Some developers want to see the branches with recent commits first.
> This CL adds the option --dateorder to git cl st which sorts branches
> by the committer date of the most recent branch.
>
> Change-Id: Ibdf3fc35ea784521a3e99b374535f822bb83a55e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2521573
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Reviewed-by: Dirk Pranke <dpranke@google.com>

Change-Id: I974ac297fcf8652855b101f58a98b3cd122fce36
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2532835
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
5 years ago
Gavin Mak e61ccc59a2 [depot_tools] Make try-results fetch recent dry-runs
Running git cl try-results fetches the latest patchset which may be a trivial change, e.g. rebase or commit message change.
This change allows try-results to get the result of patchsets equivalent to the latest and returns their results.

Bug: 774179
Change-Id: Iec2fea102597773e24c2e887f19282f14c123e61
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2532899
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
5 years ago
Andrii Shyshkalov f0517095b8 git cl: remove check for likely wrong identities.
This was important 3+ years ago when we were migrating to Gerrit.
It is no longer important, and probably confusing to non-Googlers
and Googlers alike.

R=dpranke, maruel
TBR=ehmaldonado

Bug: 1148065
Change-Id: I79ad71b5afb9adac286780c2093b01f656491918
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2534850
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
5 years ago
Sigurd Schneider 8630bb119f Revert "Add option to git cl st to sort by committer date"
This reverts commit 9ca89ac1f4.

Reason for revert: Breaks git cl st

Original change's description:
> Add option to git cl st to sort by committer date
>
> Some developers want to see the branches with recent commits first.
> This CL adds the option --dateorder to git cl st which sorts branches
> by the committer date of the most recent branch.
>
> Change-Id: Ibdf3fc35ea784521a3e99b374535f822bb83a55e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2521573
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Reviewed-by: Dirk Pranke <dpranke@google.com>

TBR=dpranke@google.com,sigurds@chromium.org,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

Tbr: dpranke@google.com
Change-Id: I3ed44d42b8383691682442567e3151508126fbd5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2532834
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Sigurd Schneider <sigurds@chromium.org>
5 years ago
Sigurd Schneider 9ca89ac1f4 Add option to git cl st to sort by committer date
Some developers want to see the branches with recent commits first.
This CL adds the option --dateorder to git cl st which sorts branches
by the committer date of the most recent branch.

Change-Id: Ibdf3fc35ea784521a3e99b374535f822bb83a55e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2521573
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
5 years ago
Bruce Dawson fc48704f6b Print message when waiting for editor
Running "git cl upload" can take a while so I tend to switch to other
tasks while it runs. On a regular basis I get frustrated because it is
taking an extremely long time only to realize that it has been waiting
for me.

This change adds a message saying "Waiting for editor..." to make it
clear who is waiting for whom.

Change-Id: I8cf08c3d2be0c7a843a4c07529682bc049b30426
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2503689
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
5 years ago
Josip Sokcevic f736cabba5 Add retry on git push failure
This adds retry if target is old default branch. This may happen only if
user didn't fetch remote for extended period of time and old default
branch no longer exists.

R=ehmaldonado@chromium.org

Change-Id: I81981049ee006f68a073718180b454c230d055e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2473757
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Andrii Shyshkalov 792630c498 git cl try-results: show running jobs in YELLOW color.
R=dpranke@google.com

Change-Id: I62f198d03e8326196476c42cd7c317871894f4d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2485093
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Commit-Queue: Dirk Pranke <dpranke@google.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
5 years ago
Josip Sokcevic c39ab997ba Support main as default branch
R=apolito@google.com

Change-Id: Ic338c698b8eb8d2e04fc1ef23ae4b13cae08b80f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2404701
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
5 years ago
Glen Robertson 7d98e228f8 Allow 'main' as a local main branch name.
Avoiding 'master' as a local branch name per naming guidelines hits this
special case and won't allow upload of child branches. Even though more
comprehensive efforts (crbug.com/1095735) have yet to decide on an
official preferred main branch name this change is small and unlikely
to break things (I hope).

This supports people using a "git pull" "merge" workflow.

Change-Id: I8aca044aeb4178c6671e3a1590617f666505b42e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2377189
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Auto-Submit: Glen Robertson <glenrob@chromium.org>
5 years ago
Weilun Shi b92c4b7b72 Also Pretty print the split histogram_suffixes_list
The split histogram_suffies_list.xml should also be pretty-printed via
`git cl format`.

Bug: 1121852
Change-Id: Id9eacdd4adda8a4e6684be4c88dd0d5b0ab033a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2376986
Auto-Submit: Weilun Shi <sweilun@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
5 years ago
Wenhan (Han) Zhang 3bd3c99b4d Reland "Modified git cl format for distributed histograms"
Modified git cl format for distributed histograms

Reverted because changes regarding distributed histograms were not all landed.
Added in check to ensure only add in a filepath argument if the newest changes
regarding distributed histograms are present. This ensures reliability in the
case of different branches of chromium/src.

Change-Id: I3a1d2a3ce72954a1f2cc2854827c9772ed4873ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2353076
Commit-Queue: Wenhan (Han) Zhang <zwenhan@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
5 years ago
Wenhan (Han) Zhang ec709593d5 Revert "Modified git cl format for distributed histograms"
This reverts commit 7497bb4edd.

Reason for revert: This should be landed after https://chromium-review.googlesource.com/c/chromium/src/+/2339216 is landed, where pretty_print.py in histograms/ will require a path argument. 

Original change's description:
> Modified git cl format for distributed histograms
> 
> If files in histograms folder are changed, pretty_print.py will be run on every
> XML file changed and it will take in an additional relative path argument since
> histograms are split up by prefixes.
> 
> Change-Id: I6902de2079edbb3bf17858ea93fb26d49a28fb37
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2340139
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Wenhan (Han) Zhang <zwenhan@google.com>

TBR=holte@chromium.org,sweilun@chromium.org,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com,zwenhan@google.com

Change-Id: I40ae8b933795c746e19e5a489a8c39ba2c59e693
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2353072
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Wenhan (Han) Zhang <zwenhan@google.com>
5 years ago
Wenhan (Han) Zhang 7497bb4edd Modified git cl format for distributed histograms
If files in histograms folder are changed, pretty_print.py will be run on every
XML file changed and it will take in an additional relative path argument since
histograms are split up by prefixes.

Change-Id: I6902de2079edbb3bf17858ea93fb26d49a28fb37
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2340139
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Wenhan (Han) Zhang <zwenhan@google.com>
5 years ago
Saagar Sanghavi 531d992f00 Changed naming convention
presubmit:gerrit_host/folder/to/repo:path/to/file/:CheckName
Example
presubmit:chromium-review.googlesource.com/chromium/src/:services/viz/

Bug: 1112667
Change-Id: I095a2c04e73c64d67fa1bb3dbf7e6dfd1d93fe26
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2335873
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Saagar Sanghavi <saagarsanghavi@google.com>
5 years ago
Saagar Sanghavi 03b15131d3 [Backward Compatible] Timing and RDB for Lower-level checks
Allows presubmit_support to perform Timing and RDB reporting for each of
the lower-level "CheckXYZ" functions, provided that
ENABLE_NEW_PRESUBMIT_CHECKS is called in the PRESUBMIT.py
file that we are running. I am using the variable to avoid the breakage
caused by the similar previous CL (2332321) which was not backwards
compatible.
In addition, asks for "-realm" with ResultDB so it can maintain the
security boundary.

Bug: 1106943
Change-Id: Ia49e8884e2653bee7de7ed7d254452d55dd5c617
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2341828
Commit-Queue: Saagar Sanghavi <saagarsanghavi@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Ben Pastene 8351dc1fb7 Revert "[Fixed from older branch] Timing/RDB for lower-level checks"
This reverts commit dba1d65a19.

Reason for revert: "Check* takes exactly 3 arguments (2 given)" presubmit errors
eg: https://ci.chromium.org/p/chromium/builders/try/chromium_presubmit/933062?
https://crbug.com/1113506

Original change's description:
> [Fixed from older branch] Timing/RDB for lower-level checks
> 
> presubmit: Report timing to rdb for individual checks
> Rather than using CheckChangeOnCommit() or CheckChangeOnUpload() as the
> sole entry points for PRESUBMIT.py files, this cl enables presubmit_support.py
> to use any CheckXYZ[OnCommit/Upload] function to serve as an entry point.
> 
> This way, we can perform timing and RDB reporting for each of the
> presubmit check functions and have check-specific data.
> 
> Bug: 1106943
> Change-Id: Ifdabd68c0904a6d70a828f12de157369c6c1571d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2332321
> Commit-Queue: Saagar Sanghavi <saagarsanghavi@google.com>
> Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@google.com>

TBR=dpranke@google.com,estaab@chromium.org,ehmaldonado@chromium.org,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,saagarsanghavi@google.com

Change-Id: Ibd80f70661d2196f903f0c6b79eb74eda6c94d44
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1106943, 1113506
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2340692
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
5 years ago
Saagar Sanghavi dba1d65a19 [Fixed from older branch] Timing/RDB for lower-level checks
presubmit: Report timing to rdb for individual checks
Rather than using CheckChangeOnCommit() or CheckChangeOnUpload() as the
sole entry points for PRESUBMIT.py files, this cl enables presubmit_support.py
to use any CheckXYZ[OnCommit/Upload] function to serve as an entry point.

This way, we can perform timing and RDB reporting for each of the
presubmit check functions and have check-specific data.

Bug: 1106943
Change-Id: Ifdabd68c0904a6d70a828f12de157369c6c1571d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2332321
Commit-Queue: Saagar Sanghavi <saagarsanghavi@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
5 years ago
Lei Zhang 8a0efc1862 Handle BUG_PREFIX correctly when populating Bug: lines.
Right now git_cl.py inserts an extra colon if the bug prefix ends with
a colon. Fix this by detecting whether the bug prefix ends with a colon
or not, and only inserting the colon when necessary.

Bug: 1111955
Change-Id: I3db199435087abb17b9600fc208b11d2d8e6a615
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2333426
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
5 years ago
Manh Nguyen e3644869e0 Add a newline between commit messages
Git commit message presubmit test might merge multiple commit messages
together if there is no newline in between.

Bug: angleproject:4923
Change-Id: I668b7d1f3c7e17d7499bf1fd2b9390d77ce70d5a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2339754
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
5 years ago
Mario Bianucci cebfb4e614 Adding --skip-title option to git cl upload
Adding an optional --skip-title argument to git cl upload to
automatically use the latest commit message as the patch title, without
requiring the user to hit "enter" to accept.

Change-Id: I0e37b68c809d907a4f980f2be59865e14b1a2db2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2297803
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Mario Bianucci <mabian@microsoft.com>
5 years ago
Alan Cutter 594fd33247 Decode "git cl" error messages to avoid printing Python bytes
We were not decoding the stdout bytes before printing them when git
commands returned an error status. This CL fixes that.

Before:
Command "git cherry-pick FETCH_HEAD" failed.
b'Auto-merging chrome/browser/ui/web_applications/app_browser_controller.cc\nAuto-merging chrome/browser/ui/views/frame/opaque_browser_frame_view_browsertest.cc\nCONFLICT (content): Merge conflict in chrome/browser/ui/views/frame/opaque_browser_frame_view_browsertest.cc\nAuto-merging chrome/browser/ui/views/frame/browser_non_client_frame_view.cc\nAuto-merging chrome/browser/ui/views/frame/browser_frame.h\nAuto-merging chrome/browser/ui/views/frame/browser_frame.cc\n'

After:
Command "git cherry-pick FETCH_HEAD" failed.
Auto-merging chrome/browser/ui/web_applications/app_browser_controller.cc
Auto-merging chrome/browser/ui/views/frame/opaque_browser_frame_view_browsertest.cc
CONFLICT (content): Merge conflict in chrome/browser/ui/views/frame/opaque_browser_frame_view_browsertest.cc
Auto-merging chrome/browser/ui/views/frame/browser_non_client_frame_view.cc
Auto-merging chrome/browser/ui/views/frame/browser_frame.h
Auto-merging chrome/browser/ui/views/frame/browser_frame.cc
Change-Id: I162e666ca9f3a70259e6178d2e6d3b72f15b1f7b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2310016
Auto-Submit: Alan Cutter <alancutter@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Saagar Sanghavi 9949ab7a4b Preliminary changes to git cl and presubmit_support
Added an rdb wrapper and use it to time CheckChangeOn{Commit, Upload} from every PRESUBMIT.py file, then reports the results to ResultSink.

Bug: http://crbug.com/1107588

Change-Id: I9bc8a18ba615a76f3e0611eae5b2c4adc5924276
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2242097
Commit-Queue: Saagar Sanghavi <saagarsanghavi@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
5 years ago
Daniel McArdle 8b4eeffd46 git-cl: Fix "git cl tree" issues with Python 3.
* First, we were treating the return value of HTTPResponse.read() as a
  string when it is really a byte string.

* Second, the urlparse library was renamed to urllib.parse in Python 3,
  so I made the appropriate substitution.

Change-Id: I0b23716e990eca8ddf77742f378ab54eda3d3717
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2307509
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Dan McArdle <dmcardle@chromium.org>
5 years ago
Lei Zhang b8c62cf5f4 Add default filters to git cl lint.
Use the same set of default filters as presubmit checks. Presubmit
checks use filters to give better lint results as expected by Google C++
style. Give git-cl's lint subcommand the same benefit.

Bug: 1106028
Change-Id: I51ff0737b310990ab424376d2721e8a6a50dfc6e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2298122
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Lei Zhang 379d1ad115 Simplify a block of conditionals for git cl lint.
Use continues to reduce the amount of nesting in a loop. At the same
time, give the variable involved better names.

Bug: 1097674
Change-Id: I105ed4a99da783fb235e304bbad4edd1f8a38889
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2298659
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
5 years ago
Carlos Caballero 81923d6d2c Fix git_cl -r compatibility issue with Python 3
iterkeys is no longer a thing in Python 3

Change-Id: I4d88d2a486db1e552ecac27f123219ac1e03bcaf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2276208
Commit-Queue: Carlos Caballero <carlscab@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes b7db183f02 git-cl: Use shell=True when running yapf using vpython on Windows.
Bug: 1097215
Change-Id: Ibdae2d84a661442e6dcaa54e975bb5f1009cce83
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2254740
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Peter Wen d939992589 Support formatting python3 scripts (reland)
Original CL: https://crrev.com/c/2241792

Fix Windows use case by calling yapf directly without going through
yapf.bat.

Bug: 1062053,1095581
Change-Id: I31a9f09cba655d6ac1b4da9874a24a41aa007b17
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2249606
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Peter Wen <wnwen@chromium.org>
5 years ago
Liviu Rau f82b08b1e2 Revert "Support formatting python3 scripts"
This reverts commit 2ba05f1672.

Reason for revert: yapf formatting broken on windows  https://crbug.com/1095581

Change-Id: Ifad1009ab8d83a05cd5763bb95910647940cbaf1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2246152
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Peter Wen 2ba05f1672 Support formatting python3 scripts
Use vpython or vpython3 to invoke yapf depending on the shebang line for
each file.

Bug: 1062053
Change-Id: I497fa48c08aa6052a2b06df7cc7f18e2154ab898
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2241792
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Peter Wen <wnwen@chromium.org>
5 years ago
Manh Nguyen 77463bb188 Preserve raw commit message
Commit messages are now sent to input_api in the exact format that user
has used

Bug: angleproject:4714
Change-Id: I30592aec75d57618f5c028bb63a18f95239976e0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2239039
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
5 years ago
Aaron Gable 6e7ddb698b Remove agable from depot_tools OWNERS and TODOs
Change-Id: I0667af4562208a111ab3673f3fca6aab655f5f26
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2218962
Auto-Submit: Aaron Gable <agable@chromium.org>
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Anthony Polito <apolito@google.com>
5 years ago
Ng Zhi An cdaf0be1f4 Add git completion helper to cl upload
This is similar in spirit to the helper flags in git subcommands, e.g.
try `git branch --git-completion-helper`. It provides a list of long
flags that the subcommands support, without repeating it manually in the
completion script. Note that this special flag is not returned in help,
so there is no noise.

To see the result, source the script, then `git cl upload --<TAB>`.

Change-Id: I82e280ceac5178b0e5fa52611b9a4125e6943337
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2209926
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
5 years ago
Ilya Sherman 7aed4bb802 Fix `git cl format` for metrics XML files on Windows
* Call `os.path.normpath()` prior to comparing file paths
* Run Python files with `vpython`
* Pass `shell=True` for Windows commands, so that the PATH variable is
  defined: https://stackoverflow.com/a/32799942
  * While here, clean up similar call sites to drop an unnecessary cast.

Fixed: 1081763
Change-Id: I8096b3ad14a4675036a579fab537af1d94f12725
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2203422
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Ilya Sherman <isherman@chromium.org>
5 years ago
Ilya Sherman b67e60cd33 Add git cl format support for "structured" metrics
This matches the support for the other metrics subdirectories.

R=ehmaldonado@chromium.org

Bug: none
Change-Id: Ibf84e1d1b33e38843b8a11ff3299d4c0c3aa5eb2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2173743
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Ilya Sherman <isherman@chromium.org>
5 years ago
Bruce Dawson 97ed44ada9 Warn when --show-all is used with no files listed
At least one contributor thought that --show-all would show all owners
for the current CL, so they used it with no files specified and got
confused by the lack of output. I was fooled to. The message printed
by "git cl help owners" makes it clear but it seems worth detecting the
no-files case and printing a helpful message, especially since most
(all?) of the other git cl owners commands apply to the current CL.

Bug: 1071967
Change-Id: I77bd2e30a3b3a6eb67cd40b93f5544b20facacb8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2183219
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
5 years ago
Edward Lesmes 4de54135e8 Revert "git-cl: turn GERRIT_SQUASH_UPLOADS into a warning"
This reverts commit 31a538a3a9.

Reason for revert:
Breaks ANGLE's workflow.

Original change's description:
> git-cl: turn GERRIT_SQUASH_UPLOADS into a warning
> 
> Now that repos have dropped this from their codereview.settings file,
> change this logic to issue a warning if it's ever seen again.
> 
> Drop checking local gerrit.override-squash-uploads config too since
> it's no longer relevant.
> 
> Bug: 993518
> Change-Id: Id91bbc94b0890ca21c51a274f6acc41f2ae19b78
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1756159
> Commit-Queue: Mike Frysinger <vapier@chromium.org>
> Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>

TBR=vapier@chromium.org,ehmaldonado@chromium.org,infra-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Iaa8b3341b189f356082ae25a1557898e25820566
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 993518
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2182019
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Mike Frysinger 31a538a3a9 git-cl: turn GERRIT_SQUASH_UPLOADS into a warning
Now that repos have dropped this from their codereview.settings file,
change this logic to issue a warning if it's ever seen again.

Drop checking local gerrit.override-squash-uploads config too since
it's no longer relevant.

Bug: 993518
Change-Id: Id91bbc94b0890ca21c51a274f6acc41f2ae19b78
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1756159
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Takuto Ikuta 26b02c109b Revert "git_cl: add --parallel for yapf"
This reverts commit 8533236d09.

Reason for revert:
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2163086/4#message-dcd4603d5914c681d0e1ad498e7bb9b59576a24d

Original change's description:
> git_cl: add --parallel for yapf
> 
> see
> https://github.com/google/yapf#usage
> 
> Bug: 1073708
> Change-Id: I09a327e44bfcf5cf9a59c4e8d470a8886fc9f44b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2163086
> Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
> Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=agable@chromium.org,tikuta@chromium.org,ehmaldonado@chromium.org,infra-scoped@luci-project-accounts.iam.gserviceaccount.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1073708
Change-Id: Ib8245dca57a11a386e78089630df61ff773b1789
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2168971
Reviewed-by: Aaron Gable <agable@chromium.org>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
5 years ago
Edward Lesmes 259d6bb191 git-cl: Remove formatting support for dart.
The support for Dart in canned_checks.CheckPatchFormatted can be removed.
It was used in Chromium, when Chromium included a Dart SDK in its
checkout.
Dart was removed from Chromium years ago, and none of the current Dart
repositories use this in their presubmit.

Current repositories using Dart and depot_tools are
dart.googlesource.com/sdk and Flutter engine.
The SDK source tree has extensive custom code written for format checking
in the presubmit, and Flutter engine has none.
So adapting the exiting code to work with a new SDK location, or
searching the path for any Dart SDK (which would be too fragile) would
not be useful for these projects.

The support code was introduced in:
https://codereview.chromium.org/933383002

Bug: 1075502
Change-Id: I1ceed1ed6c1b4ff05071b0db1c52016f03c47c9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2168851
Reviewed-by: Anthony Polito <apolito@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Josip Sokcevic 5e18b605d3 Fix git cl upload on Windows
Use ISO8601 time format standard to avoid localized result and need to
encode.

R=ehmaldonado@chromium.org

Bug: 1074002
Change-Id: I95c2ddd55a9661351f2b45601f7bba24c2951c31
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2163401
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
5 years ago
Takuto Ikuta 8533236d09 git_cl: add --parallel for yapf
see
https://github.com/google/yapf#usage

Bug: 1073708
Change-Id: I09a327e44bfcf5cf9a59c4e8d470a8886fc9f44b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2163086
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Andrii Shyshkalov 8aebb60a8d git cl patch: support short CL URLs.
Change-Id: I71ae8e94ec0cc5d880c002c7187351ac6ee2c2b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2152218
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Jose Lopes 3863fc52b9 Do not prompt on --dependencies if --force.
At the moment, specifying --dependencies to upload all dependent CLs
will always prompt for confirmation if --force was specified. This
means that there is no way to run this command in a batch way or from
another script, and it's also in contradiction to the --force flag
which is meant to answer 'yes' to all prompts.

This uses a pattern that is used several times in the script, which is
to check 'if not force: prompt()'.

Change-Id: I7d85b02b68d958a5b2d3295a04c4ced023d36ec8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2139700
Auto-Submit: Jose Lopes <jabolopes@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes 89624cdfd7 Reland "git-cl: Execute clang-format-diff.py using vpython."
This is a reland of 87661afbfc

Set shell=True on Windows, so that vpython.bat can be executed.

Original change's description:
> git-cl: Execute clang-format-diff.py using vpython.
>
> When running git-cl using vpython3, sys.executable is python3.
> Execute clang-format-diff.py using vpython instead, since it has
> not been migrated already.
>
> Bug: 1066187
> Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

Bug: 1066187
Change-Id: Ia482f13d0f30d625f2f6db3cb4202b7f3f95707b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2135330
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Peter Kasting cd454025b3 Revert "Reland "git-cl: Execute clang-format-diff.py using vpython.""
This reverts commit 87661afbfc.

Reason for revert: Still get:
OSError: Execution failed with error: [Error 2] The system cannot find the file specified.

Original change's description:
> Reland "git-cl: Execute clang-format-diff.py using vpython."
> 
> This is a reland of beec66070e
> 
> Append the clang-format directory to the front of PATH instead of
> overwriting it.
> This allows vpython to be invoked.
> 
> Original change's description:
> > git-cl: Execute clang-format-diff.py using vpython.
> >
> > When running git-cl using vpython3, sys.executable is python3.
> > Execute clang-format-diff.py using vpython instead, since it has
> > not been migrated already.
> >
> > Bug: 1066187
> > Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
> > Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> 
> Bug: 1066187
> Change-Id: I8b65549ef47587cef8492f8f76a037eb85a981fc
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2132972
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

Change-Id: I22566c829a83991e3749a039d0bd0ba7d8a56812
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1066187
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2133588
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
5 years ago
Edward Lesmes 87661afbfc Reland "git-cl: Execute clang-format-diff.py using vpython."
This is a reland of beec66070e

Append the clang-format directory to the front of PATH instead of
overwriting it.
This allows vpython to be invoked.

Original change's description:
> git-cl: Execute clang-format-diff.py using vpython.
>
> When running git-cl using vpython3, sys.executable is python3.
> Execute clang-format-diff.py using vpython instead, since it has
> not been migrated already.
>
> Bug: 1066187
> Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

Bug: 1066187
Change-Id: I8b65549ef47587cef8492f8f76a037eb85a981fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2132972
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes 43d002a2ca Revert "git-cl: Execute clang-format-diff.py using vpython."
This reverts commit beec66070e.

Reason for revert:
OSError: Execution failed with error: [Errno 2] No such file or directory: 'vpython'. 

Original change's description:
> git-cl: Execute clang-format-diff.py using vpython.
> 
> When running git-cl using vpython3, sys.executable is python3.
> Execute clang-format-diff.py using vpython instead, since it has
> not been migrated already.
> 
> Bug: 1066187
> Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

Change-Id: I555251d8dbb1582d7f03702b7910d70a11b75855
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1066187
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130785
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes beec66070e git-cl: Execute clang-format-diff.py using vpython.
When running git-cl using vpython3, sys.executable is python3.
Execute clang-format-diff.py using vpython instead, since it has
not been migrated already.

Bug: 1066187
Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes a680c23e78 git-cl: Fix checking if parent branch has been uploaded.
The old behavior was to set parent from the gerritsquashhash of the
parent branch, but now it's trying to set it from the gerritsquashhash
of the current branch (which doesn't exist yet).

As a result it's always saying `Upload upstream branch ... first`

Change-Id: I035ed128f46a49d09d563ea589e9ca9eb7b87db9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2128679
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes 50da7706ce Reland "git-cl: Remove unused and duplicate functions."
This is a reland of e3a49aa405

GetRelativeRoot was fixed to use '.' instead of None

Original change's description:
> git-cl: Remove unused and duplicate functions.
>
> Remove unused functions, and use scm.GIT where possible to reduce
> duplication.
>
> Change-Id: I24f05e7b3ae04743e97b6665ee668f44d6acc294
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2116938
> Reviewed-by: Anthony Polito <apolito@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

Change-Id: I54bd1d34d3501a38bf8af2f9e70059d58fa538a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2125293
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Bruce Dawson b73f8a96ec Make git cl status use bold colors
Normal weight colored text can be hard to read, especially over Chrome
Remote Desktop (video compression treats chroma harshly). Git colors can
be made more readable by editing .gitconfig, but git cl colors are hard
coded. This hard codes them to all be bold, for greater readability and
effective brightness, and changes the still-too-dim-over-CRD blue to red.

Magic bold code found here:
https://stackoverflow.com/questions/8924173/how-do-i-print-bold-text-in-python

Change-Id: If3a8684d1886291ca692d6fdbe7e30095a5acbc8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2116941
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
5 years ago
Edward Lesmes 0dd5482c52 depot_tools: Restore appending title before change description.
On an initial upload, git-cl upload -t <title> should append <title>
before the change description.

This broke because options.squash is set to a default value very late
into code execution, so its value was not available when computing the
initial description.

options.squash is now set when parsing the options, early into code
execution.

Bug: 1064905
Change-Id: I04a18c572dd5b04a3013d39f71bc43d026ea85d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2122324
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Tibor Goldschwendt 7c5efb2a7e Add format string option to git cl archive
This option lets users specify a format of the archive tags. E.g.
  git cl archive -p 'archived/{issue}-{branch}'
makes tags in the format
  archived/1234-foo-feature

Change-Id: Icb74cc68781cda21a70c802bd640543e92ae97a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2116723
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
5 years ago
Edward Lesmes cba460828f Revert "git-cl: Remove unused and duplicate functions."
This reverts commit e3a49aa405.

Reason for revert:

TypeError: expected str, bytes or os.PathLike object, not NoneType

Original change's description:
> git-cl: Remove unused and duplicate functions.
> 
> Remove unused functions, and use scm.GIT where possible to reduce
> duplication.
> 
> Change-Id: I24f05e7b3ae04743e97b6665ee668f44d6acc294
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2116938
> Reviewed-by: Anthony Polito <apolito@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

Change-Id: I334a6289eb2c1f3e20feddd428307542d2aa38a9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2119411
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes e3a49aa405 git-cl: Remove unused and duplicate functions.
Remove unused functions, and use scm.GIT where possible to reduce
duplication.

Change-Id: I24f05e7b3ae04743e97b6665ee668f44d6acc294
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2116938
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes ae3586b538 depot_tools: Use gclient_utils.AskForData instead of raw_input.
gclient_utils.AskForData will use raw_input on Python 2 and input on Python 3.

Bug: 1063976
Change-Id: I93c059c4e4454d01787716b5a0a2641ad5253f53
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2116370
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Anthony Polito <apolito@google.com>
Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur c81db8c596 git-cl: Remove GetIsGerrit.
It's always true.

Change-Id: I96a53c032de705724e61c64ee37e9a14b596cbd5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2113250
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 5a644f8276 Reland "git-cl: Refactor CMDUploadChange"
This is a reland of 9f29465e52

Original change's description:
> git-cl: Refactor CMDUploadChange
>
> Changes:
> - Add _GetDescriptionForUpload and _GetTitleForUpload.
> - Add ensure_change_id to ChangeDescription, that ensures the
>   description has a particular Change-Id.
> - If more than a Change-Id was entered on new issue upload, remove
>   all, and add a new one.
>
> Change-Id: I0eae474eb07ea3036973b18571f72a80da425b21
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2101811
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

Change-Id: Ib2c0ad61b169f6b0c3141674591b0d3fa42bc664
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2103532
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
5 years ago
Edward Lesmes c48fb8427c Revert "git-cl: Refactor CMDUploadChange"
This reverts commit 9f29465e52.

Reason for revert:
line 2302, in CMDUploadChange
    change_id = change_ids[0]
IndexError: list index out of range

Original change's description:
> git-cl: Refactor CMDUploadChange
> 
> Changes:
> - Add _GetDescriptionForUpload and _GetTitleForUpload.
> - Add ensure_change_id to ChangeDescription, that ensures the
>   description has a particular Change-Id.
> - If more than a Change-Id was entered on new issue upload, remove
>   all, and add a new one.
> 
> Change-Id: I0eae474eb07ea3036973b18571f72a80da425b21
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2101811
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

Change-Id: Ibb76539066c103ec951fa8d02684bc10f84549bf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2103531
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 9f29465e52 git-cl: Refactor CMDUploadChange
Changes:
- Add _GetDescriptionForUpload and _GetTitleForUpload.
- Add ensure_change_id to ChangeDescription, that ensures the
  description has a particular Change-Id.
- If more than a Change-Id was entered on new issue upload, remove
  all, and add a new one.

Change-Id: I0eae474eb07ea3036973b18571f72a80da425b21
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2101811
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 2c62b334ea git-cl: Stop using Change class from presubmit support.
Bug: 1042324
Change-Id: I72db082f086f69bf49256d0613c39dc92ae0a07f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2101471
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Anthony Polito <apolito@google.com>
5 years ago
Edward Lemur 5fb2224974 git-cl: Set the right Change-Id footer automatically.
If the Change-Id in the description is different from the one fetched
from Gerrit, automatically set the right one instead of asking the
user to do so.

Change-Id: I0f681d9e7d98f3ed50adc4b6e4929981530e901c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2101368
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Anthony Polito <apolito@google.com>
5 years ago
Andrii Shyshkalov 1ee78cdaac git cl: use short URLs in `git cl status`.
This also applies to git map-branches.

R=ehmaldonado

Change-Id: Ica9bc92660716c15cbdd6bfd77b93f08bd0d8f9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2099329
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Andrii Shyshkalov 8aa9d62e8e git cl: better detection of messages from CQ.
CQ added support to project-scoped accounts instead of previously
hardcoded commit-bot@ for working with Gerrit.

R=ehmaldonado

Test: `git cl status` on this very CL :)
Bug: 911811
Change-Id: I8f48a7bdc9dad9a5b71d266ccf7e9a493aa94aa9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2095986
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
5 years ago
Edward Lemur a12175c2a7 git-cl: Use _create_description_from_log instead of GetLocalDescription
Also refactor code to eliminate multiple calls to _create_description_from_log.

Change-Id: I113134fbd90f396bdb6d561ed0369ea5ee9c78ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2090448
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 57d4742bbb git-cl: Tell users to set SKIP_GCE_AUTH_FOR_GIT=1 when running on cloudtop.
Bug: 1059141
Change-Id: I0a4501946014bd567548fb5396c3dd761606a9bf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2091584
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Anthony Polito <apolito@google.com>
5 years ago
Quinten Yearsley ee8be8a368 git-cl: Don't throw AttributeError in git cl upload --retry-failed
Bug: 1057745
Change-Id: Ic1b977634e15b163e627c0f389047a26f7b0c7d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2083677
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
5 years ago
Edward Lemur 99df04e8aa git-cl: Check if author exists before adding to presubmit command line.
When user.email is not configured in git, git-cl tries to call
presubmit support with --author None, which makes git-cl crash.

Bug: b/150870673
Change-Id: Idc42ba2b970340ed93e1e92f65850fc1a12336d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2090375
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Quinten Yearsley 777660f33f depot_tools: git-cl: Rename try job to tryjob for consistency
Change-Id: I3310db47604dafead241db4d8d3540277daeb07c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2083675
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur b7f759f6bc git-cl: Use open instead of file.
file does not exist on Python 3.

Change-Id: I9392fd797b730784cff4d1144c5a3ab1027c7dd8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2086493
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 1a83da1f41 git-cl: Fix Python 3 bugs
- Don't encode description when calling presubmit,
  codecs.open already takes care of that.
- Don't use raw_input on Python 3
- Encode stdin when calling clang-format.

Bug: 1058318, 1058318
Change-Id: I825422e160c00b33b2c52b6e64e5f0a3e44606f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2086631
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 4576851428 git-cl: Remove support for GetPreferredTryMasters.
Bug: 1042324
Change-Id: I9d554d8ffe5c17278d4cd90d2aa0a49fc329f695
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2075797
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur ac5c55f6d7 Revert "Improve git cl split"
This reverts commit 684096347b.

Reason for revert:
Breaks git-cl split.
https://bugs.chromium.org/p/chromium/issues/detail?id=1054888

Original change's description:
> Improve git cl split
>
> This CL changes the behavior of `git cl split` to split the change
> by the size of the resulting CLs. For now, this is based on the number
> of bytes changed, and not by the number of changed lines. Depending
> on the shape of change, this may still produce more CLs than expected
> (and possibly more than before).
>
> A future change will switch the split to be based on the number
> of affected lines, and also introduce a mode to base the split
> on the number of affected files.
>
> Bug: 998922
> Change-Id: I49f868972a61b89b426ef9e2ceedc733eacb4350
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1778744
> Commit-Queue: Yannic Bonenberger <yannic.bonenberger@gmail.com>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>

TBR=fdoray@chromium.org,dpranke@chromium.org,yannic.bonenberger@gmail.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com

Bug: 998922
Change-Id: I466e1245d5f1c934443d850c48c42d3e694e71c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2080205
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Josip Sokcevic 953278adbf Print content of description backup on exit
Change-Id: I9607035c8ee5e5f4423b7526c67f384cfebb2f1d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2079708
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Auto-Submit: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lesmes b10ba796ee Revert "Print content of description backup on exit"
This reverts commit 8c5cdf1812.

Reason for revert:
https://bugs.chromium.org/p/chromium/issues/detail?id=1056958

Original change's description:
> Print content of description backup on exit
> 
> R=​apolito@google.com
> 
> Bug: 1056193
> Change-Id: I656149b8ddad61f6b673193b72d780b72a585f43
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2078308
> Commit-Queue: Josip Sokcevic <sokcevic@google.com>
> Reviewed-by: Anthony Polito <apolito@google.com>

TBR=apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com

Change-Id: I5190f4e0f342d0ee06474e6c432004ef95bec85b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1056193
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2079307
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 7552630e0d git-cl: Run PostUpload hooks via CLI.
Bug: 1042324
Change-Id: Iae90e632e9c1b2c798575ab940d82a145b47204a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2070681
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
5 years ago
Edward Lemur 6eb1d32f5d presubmit_support: Refactor and add tests for DoPostUploadExecuter.
Remove input and output stream, that always pointed to sys.stdin
and sys.stdout.
Add tests for DoPostUploadExecuter.

Bug: 1042324
Change-Id: Ib5d092706a242ae97ec877af5dbceef6db7cbb73
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2079411
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Josip Sokcevic 8c5cdf1812 Print content of description backup on exit
R=apolito@google.com

Bug: 1056193
Change-Id: I656149b8ddad61f6b673193b72d780b72a585f43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2078308
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Anthony Polito <apolito@google.com>
5 years ago
Gregory Nisbet 29d5cf85ac fix git cl presubmit
BUG=chromium:1056534
TEST=run git cl presubmit

Change-Id: I22a7951623b241b8b1cc49f107f024d95054506d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2077357
Auto-Submit: Gregory Nisbet <gregorynisbet@google.com>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
5 years ago
Edward Lemur 227d510857 git-cl: Invoke presubmit checks via subprocess execution instead of via module.
PRESUBMIT.py scripts are executed in presubmit_support.py using exec().
Since PRESUBMIT.py scripts might not be yet compatible with python 3, we
have to execute presubmit_support.py using python 2.

git_cl.py imports presubmit_support.py, and executes presubmit checks using
presubmit_support as a module. This forces git_cl.py to be executed using
python 2 to maintain compatibility for PRESUBMIT.py scripts.

This change allows git_cl.py to be executed using python 3, while
presubmit_support.py is executed using python 2.

Similar changes for post-submit hooks and git-cl try masters will follow.

Bug: 1042324
Change-Id: Ic3bb1c2985459baf6aa04d0cc65017a1c2578153
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2068945
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 9aa1a9673a git-cl: Add GetAuthor method and cache GetLocalDescription results
Bug: 1051631
Change-Id: I5da32978bbed16bcc9854f15db91a901f5892cda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2067402
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 61bf4177c4 git-cl: Fix get_cl_statuses for Python 3 and add tests.
In Python 3 the semantics of `raise StopIteration` inside a generator
function changed.

Bug: 1002209
Change-Id: I51222a5006c4024b3a6a06d344423ee36870825a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2071056
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
Edward Lemur 1773f37de6 gclient_utils: Add temporary_file method.
Useful when passing information to a subcommand via a temporary file.

Bug: 1051631
Change-Id: I0b8deda921effd24a37109544e1e7ca22e00ba4e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2068942
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago