Commit Graph

324 Commits (62a585a61d03ea2bf6f9f54f0a6f3395bc5656be)

Author SHA1 Message Date
szager@chromium.org 8159374e44 Don't use 'git remote get-url', which is a new-ish feature.
Apparently most Mac's have git 2.6.2, which doesn't have this
feature.

This only affects end developers, so there's no urgency to push
this out to the bots.

TBR=agable@chromium.org,wkorman@chromium.org
BUG=
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299185 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
szager@chromium.org 151ebcff42 Enable git-cl-land for git-cache checkouts.
The key piece here is that when running 'git cl land' from a cache checkout, refs/pending/* must be fetched from / pushed to the cache mirror's remote.

BUG=589140
R=wkorman,agable,iannucci,martiniss

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299166 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
nodir@chromium.org baff4e1c8c git-cl-try: print proper access denied error msg
git-cl-try does not properly print error message when the response
status code is 403, because response parsing is broken.
Fix response parsing.

R=sheyang@chromium.org, tandrii@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299137 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 1062500617 git cl: stop downloading Gerrit commit-hook with --squash mode.
BUG=579176

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299117 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 675bec320d Update TODO for cleaning up DownloadGerritHooks.
TBR=phajdan.jr@chromium.org,andybons@chromium.org
BUG=579176

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299110 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 57d8654568 git cl for Gerrit: make --squash generate Change-Id directly.
BUG=579183

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299107 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org c55295c327 temporary fix for repos that directly used DownloadHooks from git_cl.py.
TBR=phajdan.jr@chromium.org,andybons@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299106 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 09d7a6a817 git cl upload for Gerit no-squash: correct detect missing Change-Id.
BUG=579183

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299105 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 18630d61d2 Gerrit: announce deprecation of auto-download of commit-msg hook.
BUG=579176

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299095 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 65874e1466 git cl: add python implementation of Change-Id generation.
This allows to generate new IDs on the fly without installing
commit-msg hook and works just fine on Windows.

BUG=579183

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299094 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
ppi@chromium.org 6593d9331d Fix `git cl format` for dart code.
The part that runs dartfmt was relying on the part that runs (or not)
Clang to set the |env| local variable, which no longer happens after
https://codereview.chromium.org/1734863002, making `git cl format` fail
with:

Traceback (most recent call last):
  File "/usr/local/google/home/ppi/projects/depot_tools/git_cl.py", line 3957, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/usr/local/google/home/ppi/projects/depot_tools/git_cl.py", line 3939, in main
    return dispatcher.execute(OptionParser(), argv)
  File "/usr/local/work/depot_tools/subcommand.py", line 252, in execute
    return command(parser, args[1:])
  File "/usr/local/google/home/ppi/projects/depot_tools/git_cl.py", line 3837, in CMDformat
    stdout = RunCommand(command, cwd=top_dir, env=env)
UnboundLocalError: local variable 'env' referenced before assignment

It seems that we don't need to override env for dartfm anyway - the
clang part is doing this to put clang_format_tool in PATH.

This patch just drops env= from RunCommand for dartfmt.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299072 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org b4f6a22935 git cl status: do not show CQ Dry run as 'commit'.
R=jsbell@chromium.org,phajdan.jr@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299068 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 35c61458c5 git cl try: advertise git cl try-results.
R=andybons@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298990 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org b015fac677 git cl try-results: show buildbucket tryjobs.
R=nodir@chromium.org,rmistry@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298989 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
sammc@chromium.org 0b35f5d745 Fix git cl format when it finds no clang-formattable files.
Currently, if git cl format does not find any clang-formattable files,
either in the path provided on the command line or in the CL as a whole,
then it applies clang-format to all changes in the CL. This CL fixes
this by changing git cl format to not clang-format when it does not find
any changed files that are clang-formattable.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298971 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
bauerb@chromium.org 13502e0fd3 Use %B format instead of %s\n\n%b to get the raw commit message from a hash.
\n doesn't work on Windows, and %B is shorter anyway.

BUG=586344

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298845 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 1e67bb7be9 Gerrit git cl: run same post-upload hooks.
R=rmistry@chromium.org,andybons@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298733 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org dc58a97f02 Finally get rid of depot_tools' breakpad.
Reland of http://crrev.com/1689633002#ps20001 without breaking other
repos by means of keeping breakpad.py importable, but otherwise a no-op.

R=maruel@chromium.org
BUG=585837

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298731 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
thakis@chromium.org 5fea38772f Revert of Finally get rid of depot_tools' breakpad. (patchset #2 id:20001 of https://codereview.chromium.org/1689633002/ )
Reason for revert:
All chromium bots depend on this: 

________ running '/usr/bin/python src/build/android/play_services/update.py download' in '/b/build/slave/linux/build'
Traceback (most recent call last):
  File "src/build/android/play_services/update.py", line 29, in <module>
    import find_depot_tools  # pylint: disable=import-error,unused-import
  File "/b/build/slave/linux/build/src/build/find_depot_tools.py", line 49, in <module>
    import breakpad
ImportError: No module named breakpad

https://www.google.com/url?hl=en&q=http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/144739&source=gmail&ust=1455209366639000&usg=AFQjCNH42SEVcJg4J6dX0J9HF0Rcqv81eA

Original issue's description:
> Finally get rid of depot_tools' breakpad.
> 
> R=maruel@chromium.org
> BUG=
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=298710

TBR=maruel@chromium.org,tandrii@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298712 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org a05c501e6c Finally get rid of depot_tools' breakpad.
R=maruel@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298710 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
kylechar@chromium.org 8b61f11e22 Make "git cl format" format GN files.
Always formats full GN files that are modified since the format should
be canonical.

I tried to make it consistent in style with the existing formatters. I've
tested running it locally. For "git cl format" it formats GN files. For
"git cl format --diff" it outputs the full formatted files like clang but
doesn't modify. For "git cl format --dry-run" it doesn't modify or output.

TEST=Works running locally.
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298617 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
mtrofin@chromium.org 1d88dd3d3f Use current issue number for git cl patch
This change adds the option to use the current issue number, if any,
when doing a git cl patch. Instead of doing git cl issue (copy the
number) git cl patch <number>, one can simply do git cl patch -i

BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298582 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
andybons@chromium.org 962f946973 Abort if a patch set title is provided for a Gerrit server
Gerrit doesn’t support patch titles.

BUG=579178

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298573 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
jkarlin@chromium.org ad21b92f4c Skip deleted files in git cl format
BUG=577647

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298449 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
jkarlin@chromium.org 6f7fa5e756 5X speed up of 'git cl format', which also speeds up 'git cl upload'
'git cl format' became very slow (7
seconds) after the Blink merge. 'git cl upload' is also slow when
the presubmit requires formatting checks.

This CL speeds up 'git cl format' by reducing the number of calls to
'git diff' and by removing the glob parameter. The glob
parameter adds a couple of seconds as it scans the entire
repository.

Before: 'git cl format' takes 7 seconds
After: 'git cl format' takes 1.25 seconds

BUG=577647

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298323 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org a83663a08c Fix git cl upload --squash (for Gerrit).
R=bauerb@chromium.org,andybons@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298270 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
machenbach@chromium.org 59994802e8 git cl try: omit triggered bots from cq.cfg default list
BUG=522909,565952

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298261 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
bauerb@chromium.org 54b400c89f Add a setting to squash Gerrit uploads by default, and a --no-squash command line option to override it.
BUG=nope

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298260 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 71184c0099 git cl try: load trybot list from cq.cfg by default.
This allows "git cl try" to just work for projects without any PRESUBMIT
but with cq.cfg in default location (infra/config/cq.cfg). This also
ships all presubmit bots, since these usually fail LGTM checks anyway.

BUG=522909

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298251 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
erikcorry@chromium.org 3e44502a9a Update dartfmt message to be less confusing
R=tandrii@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298047 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
tandrii@chromium.org d50452a204 Add shorter option -d for git cl upload --cq-dry-run.
R=rmistry@chromium.org,phajdan.jr@chromium.org
CC=machenbach@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297669 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
iannucci@chromium.org 405b87e91b Revert of git_cl/gclient: use python2 (patchset #3 id:40001 of https://codereview.chromium.org/1437773002/ )
Reason for revert:
breaks git-bash on windows

Original issue's description:
> git_cl/gclient: use python2
> 
> Newer distros are defaulting /usr/bin/python to python3, so use python2
> explicitly so we continue working.
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=297535

TBR=stip@chromium.org,sergeyberezin@chromium.org,vapier@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297544 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org b0fe123965 git_cl/gclient: use python2
Newer distros are defaulting /usr/bin/python to python3, so use python2
explicitly so we continue working.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297535 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
tandrii@chromium.org 3764fa2517 git cl try: default testfilter is no testfilter.
This removes default testfilter value ['defaulttests'] from polluting properties
everywhere.

This also implies that default testfilter is no testfilter or empty list, which
should have equivalent meening in try recipes.

R=phajdan.jr@chromium.org,nodir@chromium.org
BUG=487822

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297228 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dsinclair@chromium.org fbed6568a9 Allow using issue URL for git cl patch.
This CL allows passing the Rietveld URL to git cl patch along with the
CL number or patch URL.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296889 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
hinoka@chromium.org feb9e2a4ea git cl try --luci, a set of hacks to demonstrate and iterate LUCI
BUG=532220

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296885 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org 84a80c4057 Add `git cl checkout` to checkout by Rietveld issue
For example:

[5165c48...]d:\src\crashpad\crashpad>git cl checkout https://codereview.chromium.org/1355503005
Previous HEAD position was 5165c48... Use argument escaping function in util/win/process_info_test.cc
Switched to branch 'crashpad-info-cross-bitness'

[crashpad-info-cross-bitness]d:\src\crashpad\crashpad>git cl checkout 818433002
Multiple branches match issue 818433002:
0: file_io_open
1: file_io_open-2
2: file_io_open-3
Choose by index: 1
Switched to branch 'file_io_open-2'


R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296823 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
nodir@chromium.org d221731ede git-cl-try: fix "revision" property
The revision property must be a part of `changes`, per
https://chromium.googlesource.com/chromium/tools/build/+/master/scripts/master/buildbucket/README.md

R=tandrii@chromium.org
BUG=534315

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296790 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
smut@google.com c85ac94a33 Add -j flag to git cl comments to get JSON summary of CL comments
BUG=529169

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296691 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
machenbach@chromium.org 4545314014 Allow setting arbitrary 'git cl try' properties with buildbucket.
This allows calling 'git cl try' with properties. Each
property is set with the option -p key=value, where value
will be treated as json if possible or as string.

Examples for -p and pitfalls:

key=string -> 'string'
key=1 -> 1
key=[1,2,3] -> [1,2,3]
key=["one","two","three"] -> '[one,two,three]'
'key=["one","two","three"]' -> ['one','two','three']

BUG=488235

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296683 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sheyang@chromium.org db37557b68 Make buildbucket default for git cl try
BUG=461614

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296339 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dpranke@chromium.org ee87f587ea Make 'git cl status' report the current branch even if there's no active CL.
TBR=ianh@google.com

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296187 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
smut@google.com 34fb6b15ee Add --display option to git cl description
A flag for showing the description instead of opening the editor to modify it.

BUG=493885

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296000 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 78948ed003 Add ability to skip dependency checks and uploads for particular branches.
After this CL is in users will be able to skip dependency checks and uploads for specific branches locally by running (using test2 as a branch name):
git config branch.test2.skip-deps-uploads True
To undo the skipping:
git config --unset branch.test2.skip-deps-uploads

To do the above commands globally (across all checkouts):
git config --global branch.test2.skip-deps-uploads True
git config --global --unset branch.test2.skip-deps-uploads


BUG=chromium:504832

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295953 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org 4b39c5fe44 Add a space before period in review URL
This is needed to ensure that it resolves to a correct URL on Gitiles.

R=maruel@chromium.org, smut@google.com

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295932 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com a6dee74e67 Make msg about found dependency more accurate.
In https://codereview.chromium.org/1149653002/ we had decided to mark closed CLs are dependencies as well, but I forgot to update the printed out message.

BUG=502255

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295831 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com d91b7e3ccb Find, upload and apply patchset dependencies.
Here is an explanation of the changes in each module:

* git_cl.py -
IF a local branch is being tracked AND a CL has been uploaded there THEN use the CL's issue number and latest patchset as a dependency.

* upload.py -
Uploads the patchset dependency, if it exists, to Rietveld (Rietveld will be able to parse this when https://codereview.chromium.org/1155513002/ lands).

* rietveld.py -
Adds utility methods to get patchset dependencies from the new Rietveld endpoint (the endpoint will exist when https://codereview.chromium.org/1155513002/ lands).

* apply_issue.py -
If CL3 depends on CL2 which in turn depends on CL1 then apply_issue will gather a list of all issues and patchsets to apply (Eg: [CL1:PS1, CL2:PS1, CL3:PS2]).
apply_issue will then loop over the list applying each dependency.
Note: The apply_issue.py diff looks much worse than it is. Please see my comment in
https://codereview.chromium.org/1149653002/diff/260001/apply_issue.py#oldcode169


Tested end-to-end using a test Git repository (https://skia.googlesource.com/skiabot-test/) and the following CLs created in my test Rietveld instance:
* https://skia-codereview-staging.appspot.com/931002  ('Branch1 CL')
* https://skia-codereview-staging.appspot.com/5001001 ('Branch2 CL')
* https://skia-codereview-staging.appspot.com/9881001 ('Branch3 CL')
* https://skia-codereview-staging.appspot.com/3951001 ('Branch3.1 CL')
Opt into the new UI and observe the new 'Depends on Patchset' and 'Dependent Patchsets' sections in the above CLs.


Design doc is here: https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit#heading=h.6r6lt4tsvssw

BUG=502255

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295778

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295799 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 1c28dab9ee Revert of [depot_tools] Find, upload and apply patchset dependencies (patchset #17 id:360001 of https://codereview.chromium.org/1149653002/)
Reason for revert:
Ran into a crash during the bot_update step here:
https://uberchromegw.corp.google.com/i/internal.infra.try/builders/infra-internal-presubmit/builds/62

Original issue's description:
> Find, upload and apply patchset dependencies.
> 
> Here is an explanation of the changes in each module:
> 
> * git_cl.py -
> IF a local branch is being tracked AND a CL has been uploaded there THEN use the CL's issue number and latest patchset as a dependency.
> 
> * upload.py -
> Uploads the patchset dependency, if it exists, to Rietveld (Rietveld will be able to parse this when https://codereview.chromium.org/1155513002/ lands).
> 
> * rietveld.py -
> Adds utility methods to get patchset dependencies from the new Rietveld endpoint (the endpoint will exist when https://codereview.chromium.org/1155513002/ lands).
> 
> * apply_issue.py -
> If CL3 depends on CL2 which in turn depends on CL1 then apply_issue will gather a list of all issues and patchsets to apply (Eg: [CL1:PS1, CL2:PS1, CL3:PS2]).
> apply_issue will then loop over the list applying each dependency.
> Note: The apply_issue.py diff looks much worse than it is. Please see my comment in
> https://codereview.chromium.org/1149653002/diff/260001/apply_issue.py#oldcode169
> 
> 
> Tested end-to-end using a test Git repository (https://skia.googlesource.com/skiabot-test/) and the following CLs created in my test Rietveld instance:
> * https://skia-codereview-staging.appspot.com/931002  ('Branch1 CL')
> * https://skia-codereview-staging.appspot.com/5001001 ('Branch2 CL')
> * https://skia-codereview-staging.appspot.com/9881001 ('Branch3 CL')
> * https://skia-codereview-staging.appspot.com/3951001 ('Branch3.1 CL')
> Opt into the new UI and observe the new 'Depends on Patchset' and 'Dependent Patchsets' sections in the above CLs.
> 
> 
> Design doc is here: https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit#heading=h.6r6lt4tsvssw
> 
> BUG=502255
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295778

TBR=agable@chromium.org,jrobbins@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=502255

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295782 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 2dd9986270 [depot_tools] New "git cl upload" flag to traverse dependent branches and re-upload them.
Motivation:
The conversation in https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit?disco=AAAAAXU60E8

BUG=502257

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295779 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com c2b9bd03e9 Find, upload and apply patchset dependencies.
Here is an explanation of the changes in each module:

* git_cl.py -
IF a local branch is being tracked AND a CL has been uploaded there THEN use the CL's issue number and latest patchset as a dependency.

* upload.py -
Uploads the patchset dependency, if it exists, to Rietveld (Rietveld will be able to parse this when https://codereview.chromium.org/1155513002/ lands).

* rietveld.py -
Adds utility methods to get patchset dependencies from the new Rietveld endpoint (the endpoint will exist when https://codereview.chromium.org/1155513002/ lands).

* apply_issue.py -
If CL3 depends on CL2 which in turn depends on CL1 then apply_issue will gather a list of all issues and patchsets to apply (Eg: [CL1:PS1, CL2:PS1, CL3:PS2]).
apply_issue will then loop over the list applying each dependency.
Note: The apply_issue.py diff looks much worse than it is. Please see my comment in
https://codereview.chromium.org/1149653002/diff/260001/apply_issue.py#oldcode169


Tested end-to-end using a test Git repository (https://skia.googlesource.com/skiabot-test/) and the following CLs created in my test Rietveld instance:
* https://skia-codereview-staging.appspot.com/931002  ('Branch1 CL')
* https://skia-codereview-staging.appspot.com/5001001 ('Branch2 CL')
* https://skia-codereview-staging.appspot.com/9881001 ('Branch3 CL')
* https://skia-codereview-staging.appspot.com/3951001 ('Branch3.1 CL')
Opt into the new UI and observe the new 'Depends on Patchset' and 'Dependent Patchsets' sections in the above CLs.


Design doc is here: https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit#heading=h.6r6lt4tsvssw

BUG=502255

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

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