Commit Graph

466 Commits (074beb2e46fbefdf85a6ba2526ad7079dd3ceb04)

Author SHA1 Message Date
tandrii@chromium.org d03bc634dc Small refactor git cl py.
R=sergiyb@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299857 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 9e6c3a5559 Refactor CMDUpload further to avoid checks IsGerrit().
R=sergiyb@chromium.org,andybons@chromium.org,machenbach@chromium.org
BUG=579160,597638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299855 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org aa6235b1f6 Refactor git cl RietveldUpload and GerritUpload.
No functionality changes.

R=machenbach@chromium.org,andybons@chromium.org
BUG=579160,597638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299844 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 26c8fd2b1a Fix git cl checkout when no branch has issues.
TBR=machenbach@chromium.org
BUG=579182

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299843 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 5df290f6af git cl checkout: implement for Gerrit + add test.
R=sergiyb@chromium.org,andybons@chromium.org
BUG=579182

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299833 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org abd27e5bbd git cl checkout: reall fix it.
TBR=machenbach@chromium.org,andybons@chromium.org
BUG=579182

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299829 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org de6c9a1d23 Fix git cl checkout.
TBR=machenbach@chromium.org,andybons@chromium.org
BUG=579182

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299827 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 534f67a148 Slight refactor git cl diff.
R=machenbach@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299769 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org ef7c68c57f git cl diff: fix regression.
Reported in https://codereview.chromium.org/1852803002/#msg5.
Also some cleanup in nearby code AND fix of the git cl diff's previous behavior that actually updated local branch config with latest *uploaded* CL values. 

BUG=579182
R=machenbach@chromium.org,andybons@chromium.org
CC=servolk@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299759 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
bpastene@chromium.org 917f0ffd0a Add DownloadHooks as a no-op function to git_cl to unblock android bisectors.
BUG=600473

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299688 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org 596cd5c95d Fix coloring madness in depot_tools.
'setup_color' now contains logic to correctly detect:
  * cmd
  * cmd pipe
  * msys bash
  * msys pipe
  * cmd running inside msys bash (git-command)
  * cmd pipe running inside msys bash (git-command > outfile)

R=brucedawson@chromium.org, dnj@chromium.org
BUG=600049

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299682 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org f86c7d3500 Reland of Gerrit git cl: implement git cl patch. (patchset #1 id:1 of https://codereview.chromium.org/1848393002/ )
Reason for revert:
nope, the windows breakage is due to apply_issue failing to connect to Rietveld.

Original issue's description:
> Revert of Gerrit git cl: implement git cl patch. (patchset #7 id:120001 of https://codereview.chromium.org/1852593002/ )
> 
> Reason for revert:
> just in case.
> 
> Original issue's description:
> > Gerrit git cl: implement git cl patch.
> > 
> > BUG=579182
> > 
> > Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299644
> 
> TBR=andybons@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=579182
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299645

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299647 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org e0a10585da Revert of Gerrit git cl: implement git cl patch. (patchset #7 id:120001 of https://codereview.chromium.org/1852593002/ )
Reason for revert:
just in case.

Original issue's description:
> Gerrit git cl: implement git cl patch.
> 
> BUG=579182
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299644

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299645 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org cc0856a314 Gerrit git cl: implement git cl patch.
BUG=579182

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299644 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org bf8f75119b Fix typo in git cl aptch with patch url.
TBR=dpranke@chromium.org,andybons@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299625 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org 0703ea2cc6 Multiple improvements to windows bash integration.
* `git bash` helper now will either:
    * launch an interactive bash prompt in the MinGW Terminal Emulator
    * launch a non-interactive bash shell if arguments are provided
  * `git bash` now includes python, python/Scripts and svn binaries in
    the PATH.
  * depot_tools' colorization now works in MinGW Terminal Emulator
  * batch scripts are now regenerated if any of them is missing.

R=agable@chromium.org, dnj@chromium.org, mmoss@chromium.org
BUG=598956

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299616 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org c0f8642119 Revert "Better tooling"
This reverts commit eed06d620f.

Accidental dcommit

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299615 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org eed06d620f Better tooling
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299614 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 4c72b08fce Gerrit git cl: do per CL check for Gerrit, not repo-wide.
The purpose is to allow mixed usage of Rietveld/Gerrit in the same repo.
There, a branch can use Gerrit, even though repo's default is Rietveld.
The only remaining repo-wide check GetIsGerrit is to determine codereview
for a branch which has no uploads yet.

This also simplifies future test expectations.

R=andybons@chromium.org,bauerb@chromium.org
BUG=598681

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299603 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org d68b62bca0 Gerrit git cl: implement "git cl land".
R=sergiyb@chromium.org,andybons@chromium.org
BUG=579180

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299589 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 512d79cd3d Gerrit git cl: stop creating a shadow branch.
R=bauerb@chromium.org,ukai@chromium.org,iannucci@chromium.org
BUG=579175,580136

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299587 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 013a2803e8 git cl status for Gerrit.
R=ukai@chromium.org
BUG=579172

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299532 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org aa5ced1815 git cl: Rework Changelist class for Rietveld/Gerrit use.
This adds pluggable codereview-specific implementations into
Changelist class. The specific implementation is chosen at
Changelist automatically, with Rietveld being default for
backwards compatibility.

Gerrit implementation for Gerrit is incomplete, and will be
added in later CLs. However, it is sufficient to ensure
current functionality of this tool is not diminished.

Sadly, the base class isn't completely free from Rietveld
assumptions because of presubmit_support. Apparently, PRESUBMIT
scripts can make use of Rietveld instance for RPCs directly.
This use doesn't make sense for Gerrit, which substitutes
rietveld instance with a dummy object, which raises exception
on any attribute access with a diagnostic message.

This also includes refactoring of some related code which
(ab)used ChangeList. Overall, this CL adds a few extra call to
git config in order to determine which codereview to use, but
but it shouldn't have any performance impact.

These is a reland of these 4 CLs + with several fixes.
patch from issue 1827523003 at patchset 20001 (http://crrev.com/1827523003#ps20001)
patch from issue 1830703004 at patchset 1 (http://crrev.com/1830703004#ps1)
patch from issue 1830923002 at patchset 60001 (http://crrev.com/1830923002#ps60001)
patch from issue 1805193002 at patchset 380001 (http://crrev.com/1805193002#ps380001)

This CL without a fix was also committed and reverted as
patch from issue 1830973003 at patchset 40001 (http://crrev.com/1830973003#ps40001)

R=machenbach@chromium.org,sergiyb@chromium.org,andybons@chromium.org
BUG=579160,597638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299530 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org fa3fb615a2 Revert of git cl: Rework Changelist class for Rietveld/Gerrit use. (patchset #1 id:1 of https://codereview.chromium.org/1844523002/ )
Reason for revert:
argh, CQ is way too quick.

Original issue's description:
> Reland of git cl: Rework Changelist class for Rietveld/Gerrit use. (patchset #1 id:1 of https://codereview.chromium.org/1840833002/ )
> 
> Reason for revert:
> with a fix.
> 
> Original issue's description:
> > Revert of git cl: Rework Changelist class for Rietveld/Gerrit use. (patchset #3 id:40001 of https://codereview.chromium.org/1830973003/ )
> > 
> > Reason for revert:
> > Speculative revert, see crbug.com/598428.
> > 
> > Original issue's description:
> > > git cl: Rework Changelist class for Rietveld/Gerrit use.
> > > 
> > > This adds pluggable codereview-specific implementations into
> > > Changelist class. The specific implementation is chosen at
> > > Changelist automatically, with Rietveld being default for
> > > backwards compatibility.
> > > 
> > > Gerrit implementation for Gerrit is incomplete, and will be
> > > added in later CLs. However, it is sufficient to ensure
> > > current functionality of this tool is not diminished.
> > > 
> > > Sadly, the base class isn't completely free from Rietveld
> > > assumptions because of presubmit_support. Apparently, PRESUBMIT
> > > scripts can make use of Rietveld instance for RPCs directly.
> > > This use doesn't make sense for Gerrit, which substitutes
> > > rietveld instance with a dummy object, which raises exception
> > > on any attribute access with a diagnostic message.
> > > 
> > > This also includes refactoring of some related code which
> > > (ab)used ChangeList. Overall, this CL adds a few extra call to
> > > git config in order to determine which codereview to use, but
> > > but it shouldn't have any performance impact.
> > > 
> > > 
> > > 
> > > These is a reland of these 4 CLs + a fix.
> > > patch from issue 1827523003 at patchset 20001 (http://crrev.com/1827523003#ps20001)
> > > patch from issue 1830703004 at patchset 1 (http://crrev.com/1830703004#ps1)
> > > patch from issue 1830923002 at patchset 60001 (http://crrev.com/1830923002#ps60001)
> > > patch from issue 1805193002 at patchset 380001 (http://crrev.com/1805193002#ps380001)
> > > 
> > > 
> > > 
> > > R=machenbach@chromium.org,sergiyb@chromium.org,andybons@chromium.org
> > > BUG=579160,597638
> > > 
> > > Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299506
> > 
> > TBR=andybons@chromium.org,machenbach@chromium.org,sergiyb@chromium.org,tandrii@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=579160,597638
> > 
> > Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299515
> 
> TBR=andybons@chromium.org,machenbach@chromium.org,sergiyb@chromium.org,dnj@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=579160,597638
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299528

TBR=andybons@chromium.org,machenbach@chromium.org,sergiyb@chromium.org,dnj@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=579160,597638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299529 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 278a25d2f1 Reland of git cl: Rework Changelist class for Rietveld/Gerrit use. (patchset #1 id:1 of https://codereview.chromium.org/1840833002/ )
Reason for revert:
with a fix.

Original issue's description:
> Revert of git cl: Rework Changelist class for Rietveld/Gerrit use. (patchset #3 id:40001 of https://codereview.chromium.org/1830973003/ )
> 
> Reason for revert:
> Speculative revert, see crbug.com/598428.
> 
> Original issue's description:
> > git cl: Rework Changelist class for Rietveld/Gerrit use.
> > 
> > This adds pluggable codereview-specific implementations into
> > Changelist class. The specific implementation is chosen at
> > Changelist automatically, with Rietveld being default for
> > backwards compatibility.
> > 
> > Gerrit implementation for Gerrit is incomplete, and will be
> > added in later CLs. However, it is sufficient to ensure
> > current functionality of this tool is not diminished.
> > 
> > Sadly, the base class isn't completely free from Rietveld
> > assumptions because of presubmit_support. Apparently, PRESUBMIT
> > scripts can make use of Rietveld instance for RPCs directly.
> > This use doesn't make sense for Gerrit, which substitutes
> > rietveld instance with a dummy object, which raises exception
> > on any attribute access with a diagnostic message.
> > 
> > This also includes refactoring of some related code which
> > (ab)used ChangeList. Overall, this CL adds a few extra call to
> > git config in order to determine which codereview to use, but
> > but it shouldn't have any performance impact.
> > 
> > 
> > 
> > These is a reland of these 4 CLs + a fix.
> > patch from issue 1827523003 at patchset 20001 (http://crrev.com/1827523003#ps20001)
> > patch from issue 1830703004 at patchset 1 (http://crrev.com/1830703004#ps1)
> > patch from issue 1830923002 at patchset 60001 (http://crrev.com/1830923002#ps60001)
> > patch from issue 1805193002 at patchset 380001 (http://crrev.com/1805193002#ps380001)
> > 
> > 
> > 
> > R=machenbach@chromium.org,sergiyb@chromium.org,andybons@chromium.org
> > BUG=579160,597638
> > 
> > Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299506
> 
> TBR=andybons@chromium.org,machenbach@chromium.org,sergiyb@chromium.org,tandrii@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=579160,597638
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299515

TBR=andybons@chromium.org,machenbach@chromium.org,sergiyb@chromium.org,dnj@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=579160,597638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299528 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
dnj@chromium.org f585b1f850 Revert of git cl: Rework Changelist class for Rietveld/Gerrit use. (patchset #3 id:40001 of https://codereview.chromium.org/1830973003/ )
Reason for revert:
Speculative revert, see crbug.com/598428.

Original issue's description:
> git cl: Rework Changelist class for Rietveld/Gerrit use.
> 
> This adds pluggable codereview-specific implementations into
> Changelist class. The specific implementation is chosen at
> Changelist automatically, with Rietveld being default for
> backwards compatibility.
> 
> Gerrit implementation for Gerrit is incomplete, and will be
> added in later CLs. However, it is sufficient to ensure
> current functionality of this tool is not diminished.
> 
> Sadly, the base class isn't completely free from Rietveld
> assumptions because of presubmit_support. Apparently, PRESUBMIT
> scripts can make use of Rietveld instance for RPCs directly.
> This use doesn't make sense for Gerrit, which substitutes
> rietveld instance with a dummy object, which raises exception
> on any attribute access with a diagnostic message.
> 
> This also includes refactoring of some related code which
> (ab)used ChangeList. Overall, this CL adds a few extra call to
> git config in order to determine which codereview to use, but
> but it shouldn't have any performance impact.
> 
> 
> 
> These is a reland of these 4 CLs + a fix.
> patch from issue 1827523003 at patchset 20001 (http://crrev.com/1827523003#ps20001)
> patch from issue 1830703004 at patchset 1 (http://crrev.com/1830703004#ps1)
> patch from issue 1830923002 at patchset 60001 (http://crrev.com/1830923002#ps60001)
> patch from issue 1805193002 at patchset 380001 (http://crrev.com/1805193002#ps380001)
> 
> 
> 
> R=machenbach@chromium.org,sergiyb@chromium.org,andybons@chromium.org
> BUG=579160,597638
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299506

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299515 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 95ffb615a5 Revert of Use tracking remote name for gerrit upload. (patchset #1 id:1 of https://codereview.chromium.org/1830313002/ )
Reason for revert:
Argh, this has broken uploading track-ed branches.
Repro:

git new-branch base-feature
touch x1 && git add x1 && git commit -m "x1"
git cl upload
git new-branch --upstream_current dep-feature
touch y1 && git add y1 && git commit -m "y1"
git cl upload -v -v # fails.


the verbose output produces this:
---cut---
DEBUG:root:git push . 7079b1682431184375b62e7e81ce10a02171aa0d:refs/for/refs/heads/master
To .
 ! [rejected]        7079b1682431184375b62e7e81ce10a02171aa0d -> refs/for/refs/heads/master (non-fast-forward)
error: failed to push some refs to '.'
---cut---

Original issue's description:
> Use tracking remote name for gerrit upload.
> 
> This patch replaces the hard-coded remote name 'origin' with the
> one obtained by git-remote.
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299491

TBR=iannucci@chromium.org,ukai@chromium.org,alokp@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299509 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 39b24c3a2d git cl: Rework Changelist class for Rietveld/Gerrit use.
This adds pluggable codereview-specific implementations into
Changelist class. The specific implementation is chosen at
Changelist automatically, with Rietveld being default for
backwards compatibility.

Gerrit implementation for Gerrit is incomplete, and will be
added in later CLs. However, it is sufficient to ensure
current functionality of this tool is not diminished.

Sadly, the base class isn't completely free from Rietveld
assumptions because of presubmit_support. Apparently, PRESUBMIT
scripts can make use of Rietveld instance for RPCs directly.
This use doesn't make sense for Gerrit, which substitutes
rietveld instance with a dummy object, which raises exception
on any attribute access with a diagnostic message.

This also includes refactoring of some related code which
(ab)used ChangeList. Overall, this CL adds a few extra call to
git config in order to determine which codereview to use, but
but it shouldn't have any performance impact.



These is a reland of these 4 CLs + a fix.
patch from issue 1827523003 at patchset 20001 (http://crrev.com/1827523003#ps20001)
patch from issue 1830703004 at patchset 1 (http://crrev.com/1830703004#ps1)
patch from issue 1830923002 at patchset 60001 (http://crrev.com/1830923002#ps60001)
patch from issue 1805193002 at patchset 380001 (http://crrev.com/1805193002#ps380001)



R=machenbach@chromium.org,sergiyb@chromium.org,andybons@chromium.org
BUG=579160,597638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299506 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
alokp@chromium.org 52eb5933a8 Use tracking remote name for gerrit upload.
This patch replaces the hard-coded remote name 'origin' with the
one obtained by git-remote.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299491 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 87985d2a9a Revert of git cl: Rework Changelist class for Rietveld/Gerrit use. (patchset #8 id:380001 of https://codereview.chromium.org/1805193002/ )
Reason for revert:
Broke one project presubmit.

Original issue's description:
> git cl: Rework Changelist class for Rietveld/Gerrit use.
> 
> This adds pluggable codereview-specific implementations into
> Changelist class. The specific implementation is chosen at
> Changelist automatically, with Rietveld being default for
> backwards compatibility.
> 
> Gerrit implementation for Gerrit is incomplete, and will be
> added in later CLs. However, it is sufficient to ensure
> current functionality of this tool is not diminished.
> 
> Sadly, the base class isn't completely free from Rietveld
> assumptions because of presubmit_support. Apparently, PRESUBMIT 
> scripts can make use of Rietveld instance for RPCs directly.
> This use doesn't make sense for Gerrit, which substitutes
> rietveld instance with a dummy object, which raises exception
> on any attribute access with a diagnostic message.
> 
> This also includes refactoring of some related code which
> (ab)used ChangeList. Overall, this CL adds a few extra call to
> git config in order to determine which codereview to use, but
> but it shouldn't have any performance impact.
> 
> 
> BUG=579160
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299462

TBR=phajdan.jr@chromium.org,andybons@chromium.org,machenbach@chromium.org,sergiyb@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=579160,597638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299476 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org c4a945495d Revert of git cl: refactor Changelist codereview detection. (patchset #4 id:60001 of https://codereview.chromium.org/1830923002/ )
Reason for revert:
broke presubmit

Original issue's description:
> git cl: refactor Changelist codereview detection.
> 
> BUG=579160
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299464

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299475 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org eba7b7e80d Revert of Gerrit: make git cl close working. (patchset #2 id:20001 of https://codereview.chromium.org/1827523003/ )
Reason for revert:
broke presubmit

Original issue's description:
> Gerrit: make git cl close working.
> 
> BUG=579160
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299465

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299474 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 6a3e00222f Revert of git cl: follow up indentation fix. (patchset #1 id:1 of https://codereview.chromium.org/1830703004/ )
Reason for revert:
http://crbug.com/597638

Original issue's description:
> git cl: follow up indentation fix.
> 
> TBR=machenbach@chromium.org
> BUG=579160
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=299466

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299473 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 075561160f git cl: follow up indentation fix.
TBR=machenbach@chromium.org
BUG=579160

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299466 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 4ab3d0f715 Gerrit: make git cl close working.
BUG=579160

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299465 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org c24bb3b7d7 git cl: refactor Changelist codereview detection.
BUG=579160

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299464 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org e044c81799 git cl: Rework Changelist class for Rietveld/Gerrit use.
This adds pluggable codereview-specific implementations into
Changelist class. The specific implementation is chosen at
Changelist automatically, with Rietveld being default for
backwards compatibility.

Gerrit implementation for Gerrit is incomplete, and will be
added in later CLs. However, it is sufficient to ensure
current functionality of this tool is not diminished.

Sadly, the base class isn't completely free from Rietveld
assumptions because of presubmit_support. Apparently, PRESUBMIT 
scripts can make use of Rietveld instance for RPCs directly.
This use doesn't make sense for Gerrit, which substitutes
rietveld instance with a dummy object, which raises exception
on any attribute access with a diagnostic message.

This also includes refactoring of some related code which
(ab)used ChangeList. Overall, this CL adds a few extra call to
git config in order to determine which codereview to use, but
but it shouldn't have any performance impact.


BUG=579160

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299462 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 139595ec3e Gerrit git cl: temporarily disable gerritissue setting.
Reason: it breaks re-upload.

R=andybons@chromium.org,machenbach@chromiu.org,mmentovai@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299354 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org a342c92be8 Gerrit git cl upload: record issue id for a branch.
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299312 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 5e8bb9a26b Remove legacy DownloadHooks as no longer used.
R=andybons@chromium.org,jbudorick@chromium.org
BUG=579176

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299295 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org e7d3d1652c Stop installing Gerrit commit-msg hooks in git cl config.
R=bauerb@chromium.org,ukai@chromium.org,andybons@chromium.org
BUG=579176,579160

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299293 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org 6cf98c8bd5 git cl try-results: make color force-able.
Inspiration:
  $ watch -n 10 "git cl try-results"
  $ watch --color "ls -al --color"

R=nodir@chromium.org,sergiyb@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299291 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
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
9 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
pgervais@chromium.org 8ba38ff4dc Added message when upstream branch is gone.
BUG=496892

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295634 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
mmoss@chromium.org f0e4152061 Improve "dcommit in git repo" error message.
R=agable@chromium.org, iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295609 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
nodir@chromium.org a6de1f438c Added textual status output to git-cl-status
Example of output:

$ git cl status
Branches associated with reviews:
  git-cl-status : None
         master : None
          owner : https://codereview.chromium.org/983843003 (closed)
     testfilter : None

Current branch: no issue assigned.

R=vadimsh@chromium.org
BUG=362198

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295596 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
smut@google.com 4c61dccd9d Add period below review URL when adding review URL footer to committed CLs
Because some interfaces aren't linkifying the URL when the commit message ends with it.

BUG=480922
TESTED=tests/git_cl_test.py; presubmit ok

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295566 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sbc@chromium.org 9d0644d71d Add experimental support for python in 'git cl format'
Based on yapf (https://github.com/google/yapf) this
formatter currently only works with --full.  It defaults
to pep8 style and projects that use a different style
can add .style.yapf to the top level.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295547 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
kjellander@chromium.org 44424548cd Fix bug in git cl patch using raw patch URL.
When using a raw URL from a different Rietveld instance than the one
in codereview.settings, you get an error like this:

File "depot_tools/git_cl.py", line 2767, in PatchIssue
    RunGit(['commit', '-m', (cl.GetDescription() + '\n\n' +
UnboundLocalError: local variable 'cl' referenced before assignment

This fixes that. It is needed for the WebRTC transition to the
Chromium Rietveld instance using https://codereview.webrtc.org

BUG=webrtc:3884
TESTED=In a WebRTC checkout: ran 'git cl patch https://codereview.webrtc.org/download/issue1135893005_1.diff'
on a clean branch and had it apply correctly.
In a Chromium checkout, ran 'git cl patch 1154023002' and verified
the commit message was correct.
I also ran using the raw URL and verified the result was the same.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295491 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wychen@chromium.org 5b3bebb18e In PatchIssue, add CL description to commit message
Before this change, the commit message only contains issue number and
patchset number. Adding CL description should be more informative.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295449 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
machenbach@chromium.org 79e43ffaad Allow properties to be overridden in buildbucket tries.
BUG=488235
PRESUBMIT=false
R=nodir@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295275 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sheyang@google.com 6ebaf7822c git cl try uses buildbucket via OAuth2
TEST=local run on Linux desktop and Macbook

NOPRESUBMIT=true(due to https://code.google.com/p/chromium/issues/detail?id=487172)

BUG=461614
R=maruel@chromium.org, nodir@chromium.org, vadimsh@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295236 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
luqui@chromium.org 609f395e7c Make git cl upload correctly track upstream refs when uploading to Gerrit
NOPRESUBMIT because it's broke on CQ, Cf. https://codereview.chromium.org/1124803002

BUG=478260
NOPRESUBMIT=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295124 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wychen@chromium.org a872e757cb Don't clean up after conflict in "git cl patch"
After crrev.com/896453002, if "git cl diff" ends up having conflict, it
would be cleaned up. However, if "git cl patch" ends up with conflict,
the user should still be able to manually resolve them.

BUG=438362
TEST=tests/git_cl_test.py

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295051 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vadimsh@chromium.org eed4df3d91 Add OAuth2 support for end users (i.e. 3-legged flow with the browser).
This CL introduces new top level command for managing cached auth tokens:
  $ depot-tools-auth login codereview.chromium.org
  $ depot-tools-auth info codereview.chromium.org
  $ depot-tools-auth logout codereview.chromium.org

All scripts that use rietveld.Rietveld internally should be able to use cached
credentials created by 'depot-tools-auth' subcommand. Also 'depot-tools-auth'
is the only way to run login flow. If some scripts stumbles over expired or
revoked token, it dies with the error, asking user to run
'depot-tools-auth login <hostname>'.

Password login is still default. OAuth2 can be enabled by passing --oauth2 to
all scripts.

R=maruel@chromium.org
BUG=356813

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294764 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vadimsh@chromium.org cf6a5d2026 Extract authentication options handling into a separate function.
It is done in preparation for switching to OAuth2 as default (and only)
authentication method. Having all auth options handled by the same code makes it
easier to gradually add OAuth2 support.

As part of this, some options that would no longer work with OAuth2 (and that
are not being used from anywhere now, as far as I can tell) are removed:
  * Passing account password for authentication via command line.
  * Overriding 'Host' header when making requests to Rietveld (won't work with
    SSL anyway).
  * --account_type option (seems to be ClientLogin specific).

R=maruel@chromium.org
BUG=356813

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294746 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sbc@chromium.org 71437c0ba5 git-squash-branch: handle empty squashes
Error out of the current tree is dirty (previously the dirty
content would be incorporated silently into the newly
squashed branch!).

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294744 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com ef966222c9 Add ability to CQ dry run patchsets during "git cl upload".
The corresponding Rietveld change is here: https://codereview.chromium.org/1054683003/

BUG=chromium:472690

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294699 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wychen@chromium.org 46309bf41f Disallow applying patches when git tree is dirty
This allows proper clean-up after failing to apply a patch. Therefore,
if "git cl diff" ends up having conflict, it could be cleaned up.

BUG=438362

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294679 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wychen@chromium.org 063e4e5260 In "git cl description", skip updating when unchanged
BUG=473423

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294671 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wychen@chromium.org 37b2ec0169 Unify style of subcommand docstrings in git-cl
Review URL: https://codereview.chromium.org/1057883003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294665 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wychen@chromium.org 16ca29c916 Enable help generation for some git-cl subcommands
The subcommends "description" and "diff" in git-cl could not print the
help message even if --help was provided.

BUG= 473406

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294663 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
calamity@chromium.org ffde55c519 Make git-map-branches -vvv show CL status colors.
This CL makes git-map-branches show CL status colors like git cl status
when -vvv is used. Statuses are fetched in parallel for speed.

BUG=379849

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294414 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@chromium.org 406c44042b git_cl: Add reverse issue lookup.
Add the ability to lookup the branch(es) corresponding to a specific
issue. This helps keep track of issues when switching between multiple
branches.

BUG=None
TEST=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294307 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com c68112d9cb Stop defaulting unrecognized branches to master except for handful of special refs.
Context:
In https://codereview.chromium.org/781523002/ I added the ability for target_ref to be set to any branch name. Eg: For Skia a ref of 'refs/remotes/origin/chrome/m42' would be correctly set to 'refs/heads/chrome/m42'.

But in https://codereview.chromium.org/822503005/ this was changed to treat any branch that did not start with 'refs/remotes/branch-heads' or 'refs/remotes/origin/refs' to be 'refs/remotes/origin/master'.
This makes it very chromium specific, there are plenty of other projects that use depot_tools that does not work like this.
For Skia 'refs/remotes/origin/chrome/m42' would now change to 'refs/remotes/origin/master' which is wrong.

The default behavior should be to preserve the original ref not to override it to master.

I handled 'lkgr' and 'lkcr' as special cases in this CL because many developers track it and would like it to land in master by default.

BUG=chromium:463109
NOPRESUBMIT=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294303 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sbc@chromium.org 013731e832 Handle KeyboardInterrupt consistently in python scripts
Handle KeyboardInterrupt gracefully rather the printing a
backtrace. Most users of these tools don't expect a
backtrace when then hit Ctrl-C.

Also, fix a few other inconsistencies found in the python
startup code of these different scripts:
- always call main function 'main' (rather than 'Main')
- always return 0 from main function
- if main takes args never include argv[0]

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294250 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 5626a92eec Add ability to specify and run post upload hooks.
Motivation: There are a few things we want to do in Skia infrastructure that is not possible to do without this functionality.
Eg1: If there is a change made to Skia's markdown then automatically include a 'DOCS_PREVIEW_URL=https://skia.org?cl=1234' in the CL's description.
Eg2: Automatically add 'NOTRY=true' for changes impacting things that do not need trybot runs.
Eg3: Include CL specific links to skia's perf (https://perf.skia.org/) and correctness (https://gold.skia.org/) servers.

BUG=chromium:462208

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294242 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
erg@chromium.org e0a7c5d4af Run dartfmt when invoking git cl format.
If the repository has third_party/dart-sdk/ unpacked, use that to
format dart files modified in the current patch.

BUG=459376
R=maruel@chromium.org, zra@google.com

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294179 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
bauerb@chromium.org 27386ddd72 Add a --squash option to Gerrit uploads.
This makes uploading to Gerrit with `git cl` more similar to uploading to Rietveld, by uploading a squashed commit containing the diff to the newest common ancestor.

Uploaded commits are stored in refs/heads/git_cl_uploads/<branch> (and their commit message is used for the squash commit), which allows amending the commit message to change it on the uploaded CL, and looking through the reflog to find old uploaded versions.

BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294077 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wychen@chromium.org 06928534d9 Allow branch name to be the same as directory name for "git cl diff"
Remove the ambiguity between revision and filename (or directory name)
when using command "git cl diff".

BUG=454032

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293914 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
wittman@chromium.org 455dc92f58 Support --target-branch option to git-cl upload for Rietveld
This is similar to the Gerrit behavior in that we default to master,
unless the remote upstream is a branch head.

BUG=435702

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293807 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
phajdan.jr@chromium.org 529141341f Remove testfilter support from "git cl"
BUG=432498

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293743 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sbc@chromium.org 797060631a Add checks to GitSanityChecks (upstream branch or current branch can be None)
I've run in the exceptions a few times when doing
'git cl presubmit' or 'git cl lint' from a detached
HEAD state (not uncommon when using 'git rebase-update')

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293643 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
luqui@chromium.org 64e1436432 Added error check to git cl that we are on a branch when we try to upload.
BUG=443264

R=iannucci@chromium.org,maruel@chromium.org

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



git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293537 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 2138f50f8f Add pending prefix to the target_ref if it is specified
BUG=435702

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293356 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
rmistry@google.com d1e3758a84 depot_tools: Send the remote tracked ref to Rietveld via upload.py.
This change goes hand in hand with the corresponding Rietveld change here:
https://codereview.chromium.org/773083004/
The motivation for both CLs came from the discussion in the internal CL: https://chromereviews.googleplex.com/115567013/

AFAIK either change can be submitted first without breaking anything in the other framework.

Observe the "Tracked Ref" field in the below CLs-

Tracking a remote ref:
* https://skia-codereview-staging.appspot.com/8861001 (Tracking skiabot-test's refs/heads/master)
* https://skia-codereview-staging.appspot.com/851002 (Tracking skiabot-test's refs/diff/test1)
* https://skia-codereview-staging.appspot.com/2891001 (Tracking Chromium's refs/heads/master)
* https://skia-codereview-staging.appspot.com/1931003 (Tracking Chromium's refs/branch-heads/1916)

Tracking a local branch which in turn tracks a remote ref:
* https://skia-codereview-staging.appspot.com/3891002 (Transitively tracking skiabot-test's refs/heads/master)
* https://skia-codereview-staging.appspot.com/4921001 (Transitively tracking Chromium's refs/branch-heads/1916)

CL when no target_ref is specified in depot_tools/third_party/upload.py:
* https://skia-codereview-staging.appspot.com/3871003 (CL with missing target_ref should default to /refs/heads/master)


Try the above links with and without the 'Deprecated UI' checked in https://skia-codereview-staging.appspot.com/settings


BUG=435702

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293334 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org 9819b1bf99 Let `git cl format` format java files, too.
This will only have an effect if one's buildtools checkout is new enough, since
only then:

a) clang-format will be new enough to do a decent job for java files
b) clang-format-diff.py will be new enough to look at java files

So for older buildtools checkouts, `git cl format` will continue to ignore java
files.  For newer buildtools checkouts (like the one pulled by `gclient sync`
with a recent chromium checkout), it'll work and do a fairly decent job.

BUG=429372

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293312 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org a1950c4e56 Fix git-cl-dcommit hook tests.
TBR=agable@chromium.org, jrobbins@chromium.org, maruel@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293275 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
kjellander@chromium.org 6abc652428 Rewrite Google Code http URLs with https on git svn dcommit.
This fix is created to avoid having to rebuild all the WebRTC
Git mirrors since they're configured to sync with the http URL
instead of https (resulting in git-svn-id Git footers with the
http URL in the commit messages). Without rewriting this, it is
not possible to commit to SVN since Google code disallows committing
to a http URL.

BUG=412012
TEST=Created a CL using a Git repo like this (both before and after landing https://webrtc-codereview.appspot.com/32569004):
git clone https://chromium.googlesource.com/external/webrtc.git
cd webrtc
git auto-svn
git checkout master
git checkout -b test
(edit whitespace change)
git commit -am "Whitespace edit
git cl upload --bypass-hooks"
git cl dcommit

R=agable@chromium.org, machenbach@chromium.org, mmoss@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293171 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
carlosk@chromium.org 71284d9bcb Improved git cl patch generated commit message to include patchset information
and a link to it.

BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292940 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
maruel@chromium.org 5cab2d37e3 Fix git cl comments when there's no issue associated with the current branch.
It currently crashes, which is sad.

R=pgervais@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292899 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
apavlov@chromium.org e4efd51bf9 Extend the git-cl-comments command functionality
The "comments" command is taught to:
- accept an arbitrary review issue id;
- post comments on the current or specified review issue.

This is required for the auto-rebaseline bot to notify a
rebaseline requestor of the fact that the rebaseline has happened
by means of posting a comment to the review issue that requested
the rebaseline, as suggested by iannucci@.

R=iannucci, szager, dpranke

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292844 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org 3421c992cc Be a bit more space-efficient.
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292792 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org d62c61fedd Make 'git cl patch' work when not on a named branch.
R=maruel@chromium.org,pgervais@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292537 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
jam@chromium.org 80c51aefb8 Revert 292493 since it broke CQ
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292513 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
sbc@chromium.org 82549e0c42 Fix reitveld base URL for googlesource.com repos.
The base url was previously being generated as
URL@BRANCH.  I'm not sure if this works anywhere
but it certainly doesn't on googlesource.com.
Here we want URL/+/BRANCH.

R=iannucci@chromium.org, sergeyberezin@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292493 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
mark@chromium.org 782570c484 Report the entire hash in the "committed" message.
This concerns the "committed" message posted to Rietveld. Prior to
34504a15bb, this used the committer's own core.abbrev. Now it's using
a hard-coded 7. Per recent discussions on chromium-dev, 7 is
insufficient to uniquely identify commits in large repositories such as
ours. If any abbreviation is to be done, a 12-digit minimum should be
used, but there's no reason not to use the entire hash.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292164 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
jsbell@chromium.org b99fbd9c45 Factor out Changelist GetStatus() for eventual use by other tools
Pulls the logic for computing an issue's "status" - has LGTM, is in
CQ, etc. - out of the "git cl status" command itself, so that other
tools can get the status of a Changelist.

BUG=379849
R=iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291928 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
maruel@chromium.org 552c31baf2 Fix ascii art escaping.
This was done because a line ending with a '\' will not be printed properly.
Completely escape the string.

R=stip@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291906 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
maruel@chromium.org 29404b59d2 Add git cl lol.
Because everyone needs humour.

Fix a small bug in subcommands.py with undocumented commands.

R=stip@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291867 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org 5f32a966af Grammar up.
BUG=
TBR=iannucci

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291835 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org bd2a9b9720 Make git cl format work on my Windows box.
For me, PATH was a unicode instead of a str for some reason, so things
failed with

D:\src\chromefetch\src>git cl format
Traceback (most recent call last):
  File "d:\src\depot_tools\git_cl.py", line 2821, in <module>
    sys.exit(main(sys.argv[1:]))
  File "d:\src\depot_tools\git_cl.py", line 2807, in main
    return dispatcher.execute(OptionParser(), argv)
  File "d:\src\depot_tools\subcommand.py", line 245, in execute
    return command(parser, args[1:])
  File "d:\src\depot_tools\git_cl.py", line 2768, in CMDformat
    stdout = RunCommand(cmd, stdin=diff_output, cwd=top_dir, env=env)
  File "d:\src\depot_tools\git_cl.py", line 81, in RunCommand
    return subprocess2.check_output(args, shell=False, **kwargs)
  File "d:\src\depot_tools\subprocess2.py", line 515, in check_output
    return check_call_out(args, stdout=PIPE, **kwargs)[0]
  File "d:\src\depot_tools\subprocess2.py", line 475, in check_call_out
    out, returncode = communicate(args, **kwargs)
  File "d:\src\depot_tools\subprocess2.py", line 449, in communicate
    proc = Popen(args, **kwargs)
  File "d:\src\depot_tools\subprocess2.py", line 237, in __init__
    super(Popen, self).__init__(args, **kwargs)
  File "d:\src\depot_tools\python276_bin\lib\subprocess.py", line 709, in __init__
    errread, errwrite)
  File "d:\src\depot_tools\python276_bin\lib\subprocess.py", line 957, in _execute_child
    startupinfo)
TypeError: environment can only contain strings
Sending crash report ...
  args: ['d:\\src\\depot_tools\\git_cl.py', 'format']
  cwd: D:\src\chromefetch\src
  exception: environment can only contain strings
  host: THAKIS1-W.ad.corp.google.com
  stack:   File "d:\src\depot_tools\git_cl.py", line 2821,
  user: thakis
  version: 2.7.6 (default, Nov 10 2013, 19:24:18)

This fixes the glitch.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291825 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org bbe9cc5aa8 Return 1 from git_cl land when you Ctrl-C it in the middle.
R=agable@chromium.org, mmoss@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291823 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
piman@chromium.org 336f9125c0 Add a --tbr-owners option to git cl upload
BUG=410125

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291794 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 34504a15bb Use full hash in Committed link when closing issue via git-cl.
R=agable@chromium.org, vadimsh@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291751 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 6c217b1fd6 Make git-cl-{dcommit,land} fail if retcode is not zero after push.
R=dnj@chromium.org, vadimsh@chromium.org
BUG=409170

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291745 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org e6896b5818 Make git-cl-land wait
R=vadimsh@chromium.org
BUG=406198

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291719 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
rmistry@google.com 52d224a24e Add the patchset id to the manual commit messages
Context is here:
https://groups.google.com/a/chromium.org/d/msg/chromium-dev/M7f9VTqrR8w/RECOX2Y5YasJ

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291687 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
vadimsh@chromium.org 749fbd9a50 Be verbose about what's happening in 'git cl land' when pusing to pending ref.
Also reduce number of attempts and give up right away on ACL errors.

R=iannucci@chromium.org
BUG=407369,407470

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291656 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
mmoss@chromium.org e75854552e Fix git-cl when working on branches.
This updates various assumptions to coincide with how gclient fetches
branch-heads refs from chromium repos.

R=iannucci@google.com
BUG=406858

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291586 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
jam@chromium.org 82114c0092 Stop git cl using CQ_TRYBOTS.
This is broken for a few reasons (see bug for details). Also, this works automatically now with the analyze step.

This is a revert of r280039.

BUG=406238
R=iannucci@chromium.org, sky@chromium.org

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

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