Commit Graph

885 Commits (c85ac94a336be732899e64875df888a7fae4ed29)

Author SHA1 Message Date
raphael.kubo.da.costa@intel.com e589f98b8e presubmit_unittest: Fix pylint errors.
The recent pylint 1.3.1 and 1.4.0 upgrades have caused some new errors
to be reported for presubmit_unittest:

* presubmit_support.InputApi.AffectedFiles() expectes a parameter called
  |include_deletes|, not |include_deleted|.

* The mock AffectedFiles() implementation in
  CannedChecksUnittest.testCannedCheckChangeHasNoTabs() had its
  signature updated to match the one in presubmit_support.InputApi,
  otherwise pylint would (erroneously) consider that this mock
  implementation was used in all other AffectedFiles() invocations in
  CannedChecksUnittest and complain that some parameters were missing.
  It makes more sense to do this than disable the check and miss real
  problems in the future.

R=maruel@chromium.org, iannucci@chromium.org, pgervais@chromium.org
BUG=443232

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293468 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
primiano@chromium.org df351768f2 gsutil: Use urllib2 instead of urllib.
This is similar to r247914 and r149742: urllib does not work with SSL
connections behind proxies, we need to use urllib2 instead. Doing this
should allow people behind proxies to download gsutils 4.7 after
r293413.

(Setting NOTRY here to be able to land the issue, otherwise the CQ fails when running some presubmit checks, see crbug.com/443232)

R=maruel@chromium.org, hinoka@chromium.org, pgervais@chromium.org, primiano@chromium.org
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293439 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
tfarina@chromium.org b6795643ec Add lint_filters parameter to CheckChangeLintsClean function.
The idea here is that when one of the filters are cleaned up in Chromium,
they should not be filtered out, otherwise we won't catch them in
the presubmit step.

See for example -> https://codereview.chromium.org/788493002/

BUG=None
R=agable@chromium.org, dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293357 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
primiano@chromium.org a64c0b083b Revert of Make gclient ready for the Blink (DEPS to main project) transition (patchset #6 id:180001 of https://codereview.chromium.org/743083002/)
Reason for revert:
The test intoruced is flake (see crrev.com/753543006/).
Need to look into that with more patience as it reproduces only on precise.


Original issue's description:
> Make gclient ready for the Blink (DEPS to main project) transition
> 
> This CL makes gclient understand correctly whether a git project is
> being moved from DEPS to an upper project and vice-versa.
> The driving use case for this is the upcoming Blink merge, where
> third_party/Webkit will be removed from DEPS (and .gitignore) and will 
> become part of the main project.
> 
> At present state, gclient leaves the .git folder around when a project
> is removed from DEPS, and that causes many problems. 
> 
> Furthermore this CL solves the performance problem of bisecting across
> the merge point. The subproject's (Blink) .git/ folder is moved to a
> backup location (in the main checkout root) and is restored when moving
> backwards, avoiding a re-fetch when bisecting across the merge point. 
> 
> BUG=431469
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=293329

TBR=iannucci@chromium.org,maruel@chromium.org,jochen@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=431469

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293352 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sbc@chromium.org 7e977755af Fix test failures on Ubuntu/Trusty.
I ran into several failures running the presubmit checks
on my Ubuntu/Trusty laptop and it looks like a some of
the tests were broken by recent versions of svn and git.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293341 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
primiano@chromium.org fcf03763e0 Make gclient ready for the Blink (DEPS to main project) transition
This CL makes gclient understand correctly whether a git project is
being moved from DEPS to an upper project and vice-versa.
The driving use case for this is the upcoming Blink merge, where
third_party/Webkit will be removed from DEPS (and .gitignore) and will 
become part of the main project.

At present state, gclient leaves the .git folder around when a project
is removed from DEPS, and that causes many problems. 

Furthermore this CL solves the performance problem of bisecting across
the merge point. The subproject's (Blink) .git/ folder is moved to a
backup location (in the main checkout root) and is restored when moving
backwards, avoiding a re-fetch when bisecting across the merge point. 

BUG=431469

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293329 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
hinoka@chromium.org 7a79054e2f GSUtil.py wrapper script
This is for transitioning us out of the horribly outdated gsutil 3.4 thats
currently residing in depot_tools.  This script:
1. Downloads GSUtil, pinned to a version (4.6 by default).
2. Executes GSUtil with the given parameters
3. (TODO) Runs the fallback GSUtil if #2 fails.


The transition plan is:
1. Set the fallback as default, making this script a no-op
2. Modify recipes (main consumer of gsutil) to pass in --force_version 4.6
3. Switch 4.6 as the default for gsutil.py
4. Make fallback failure a loud red failure
5. Remove depot_tools/third_party/gsutil

BUG=434422

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293320 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org d05ab35296 Add canned presubmit check for GN formatting
Requires https://codereview.chromium.org/779883002/ to be landed/rolled before it's useful.

R=dpranke@chromium.org
BUG=348474

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293269 0039d316-1c4b-4281-b951-d872f2087c98
10 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
10 years ago
thakis@chromium.org c6ef53a877 Revert of Added orphaned compiled Python file checks. (patchset #2 id:20001 of https://codereview.chromium.org/621533002/)
Reason for revert:
Makes `git cl upload` very slow in chrome checkouts.

Original issue's description:
> Added orphaned compiled Python file checks.
> 
> There have been a handful of cases where orphaned compiled Python files (.pyc
> files without an accompanying .py file) have been loaded preferentially by
> the presubmit scripts, causing weird problems. This adds a check and a mode for
> such files, either warning the user or deleting them.
> 
> BUG=None
> TEST=local
>   - Tested against local repository.
> 
> R=iannucci@chromium.org, szager@chromium.org
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=292703

TBR=iannucci@chromium.org,szager@chromium.org,dnj@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292818 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@chromium.org e917ddc33d Added orphaned compiled Python file checks.
There have been a handful of cases where orphaned compiled Python files (.pyc
files without an accompanying .py file) have been loaded preferentially by
the presubmit scripts, causing weird problems. This adds a check and a mode for
such files, either warning the user or deleting them.

BUG=None
TEST=local
  - Tested against local repository.

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292703 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
pgervais@chromium.org bd0cace8c1 Added os to input_api
BUG=
R=maruel@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292291 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
tandrii@chromium.org c137c1a5a6 Rough verification code to ensure deps hosts \in allowed_hosts.
BUG=371012

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292088 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org 49dfcde0f1 Use three-way merge when applying Git patches.
After switching to a pure git workflow, most of the patchset we upload
to rietveld have git metadata. Apparently, however, the scripts here in
depot tools, which are used by the CQ and trybots, are ignoring that
and applying patches without taking advantage of git metadata.
In practice this causes people to rebase and reupload patches more than
necessary, even in the cases when it could be handled automatically by
means of a three way merge.
This change updates the GitCheckout class of depot_tools to use that.

BUG=416003

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292087 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
sbc@chromium.org 2cd0b8ed46 Use CheckCallAndFilterAndHeader for git commands.
Then this was changed to CheckCallAndFilter it broke
the expectations of code in the buildbot tree:
 scripts/slave/chromium_commands.py:extract_revisions

Alternatively we could update the expectations
of chromium_commands.py.

BUG= https://code.google.com/p/chromium/issues/detail?id=412818

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292072 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
smut@google.com 27c9c8af44 Revert "Make check for dirty index work."
This reverts commit 931b6c6a6c.

This was causing our try bots to fail on DEPS changes.

After applying the patch successfully, apply_issue.py tries to run gclient sync to get the updated DEPS, resulting in this error:
src (ERROR)
----------------------------------------
[0:00:00] Started.
----------------------------------------
Error: 
____ src at origin/master
	Your index contains uncommitted changes
	Please commit, stash, or reset.

BUG=413326
TESTED=Manually: https://paste.googleplex.com/6375653263802368

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291932 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
mmoss@chromium.org 6e7202bd11 Fix gclient branch ref mangling and allow --force branch switches.
R=iannucci@chromium.org, maruel@chromium.org
BUG=410959

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291883 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
mmoss@chromium.org 931b6c6a6c Make check for dirty index work.
Without --exit-code, diff-index always returns 0 and thus never throws
the exception for a dirty index.

R=iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291881 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
calamity@chromium.org 745ffa64a0 Skip tracking status in map-branches when -v flag is not supplied.
This CL prevents map-branches from loading the tracking status when
the -v flag is not supplied. This prevents the vanilla map-branches
from taking a potentially long time to retrieve the tracking status.

BUG=410137

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291846 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
luqui@chromium.org 0b88762379 Added git footers tool to parse conventional metadata from git commits
BUG=407316

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291777 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
calamity@chromium.org 9d2c880e98 Give git map-branches extra information behind -v and -vv flags.
This CL adds information to the git map-branches command. Invoking 
it map-branches with -v, will show tracking status of branches and
invoking with -vv will additionally show the Rietveld URL and the
branch hash.

BUG=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291776 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
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
hinoka@chromium.org fa2b9b4f85 Use a regex instead of shlex.split() to get remote url
shlex.spit(), in addition to doing str.split(' '), also strips out '\\'
from windows paths, which causes the cache_dir check to fail and Gclient to think
that we're not in cache_dir mode even if we are.

Instead of using shlex to strip data from a stdout log, I think regex is more
suited for this job.

BUG=405973

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291446 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
vadimsh@chromium.org 566a02afb9 Teach 'git cl land' to land to pending ref.
R=iannucci@chromium.org
BUG=404214

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291302 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
pgervais@chromium.org b9f2751b87 Added hyphen-only options
Some options have words separated by underscores. Added options with
same name and underscores replaced by hyphens.

BUG=400953

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@288366 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org 5439ea5996 Reland: Add --no-history option to fetch and gclient for shallow clones.
Original CL: https://codereview.chromium.org/440263002/

Many people* have complained on chromium-dev about the long times
required to perform a full fetch over a DSL. This seems to be mostly
due to the huge size of chromium's history (~9 GB). On the other side,
not everybody is interested in downloading the full git history of
the projects. The size of git packs required to fetch a working HEAD
is one order of magnitude smaller (1.5 GB).
This change makes it possible to perform a shallow fetch (in a way
which is consistent with DEPS, leveraging git templates on clone),
reducing fetch times by 80% for those not interested in the history.

* See:
[chromium-dev] "fetch chromium" keeps hanging/getting stuck on Windows 7
[chromium-dev] Initial checkout with git taking long
[chromium-dev] Trying to get latest source code fails when fetching
[chromium-dev] Gclient sync takes too long

BUG=228996
TBR=iannucci@chromium.org,szager@chromium.org,wtc@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@287793 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org 69177ea3ba Revert of Add --no-history option to fetch and gclient for shallow clones. (https://codereview.chromium.org/437903002/)
Reason for revert:
Broke the WebRTC waterfall:
http://build.chromium.org/p/tryserver.webrtc/builders/win/builds/3958/steps/gclient%20revert/logs/stdio

Original issue's description:
> Add --no-history option to fetch and gclient for shallow clones.
> 
> Many people* have complained on chromium-dev about the long times
> required to perform a full fetch over a DSL. This seems to be mostly
> due to the huge size of chromium's history (~9 GB). On the other side,
> not everybody is interested in downloading the full git history of
> the projects. The size of git packs required to fetch a working HEAD
> is one order of magnitude smaller (1.5 GB).
> This change makes it possible to perform a shallow fetch (in a way
> which is consistent with DEPS, leveraging git templates on clone),
> reducing fetch times by 80% for those not interested in the history.
> 
> * See: 
> [chromium-dev] "fetch chromium" keeps hanging/getting stuck on Windows 7
> [chromium-dev] Initial checkout with git taking long
> [chromium-dev] Trying to get latest source code fails when fetching
> [chromium-dev] Gclient sync takes too long
> 
> BUG=228996
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=287606

TBR=iannucci@chromium.org,szager@chromium.org,wtc@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=228996

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@287637 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org 107bca31f6 Add --no-history option to fetch and gclient for shallow clones.
Many people* have complained on chromium-dev about the long times
required to perform a full fetch over a DSL. This seems to be mostly
due to the huge size of chromium's history (~9 GB). On the other side,
not everybody is interested in downloading the full git history of
the projects. The size of git packs required to fetch a working HEAD
is one order of magnitude smaller (1.5 GB).
This change makes it possible to perform a shallow fetch (in a way
which is consistent with DEPS, leveraging git templates on clone),
reducing fetch times by 80% for those not interested in the history.

* See: 
[chromium-dev] "fetch chromium" keeps hanging/getting stuck on Windows 7
[chromium-dev] Initial checkout with git taking long
[chromium-dev] Trying to get latest source code fails when fetching
[chromium-dev] Gclient sync takes too long

BUG=228996

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@287606 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
treib@chromium.org de3ee9016f Add exception for long url(..) lines in css files in presubmit_canned_checks.CheckLongLines
BUG=397508

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@285901 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
pgervais@chromium.org abbaa843f4 Removed git cl push command
The user message says the subcommand will stop working on July 1.

BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@285586 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
maruel@chromium.org bda81551fe Remove confirmation from git cl land.
It serves no purpose, and it's annoying when the presubmit checks take more than
2-3 seconds because I always switch off to another window, so I come back
minutes later seeing this prompt waiting for me.

R=stip@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@285071 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org c2f20bf3b1 Convert recursedeps test syntax to list literal.
This will remove a Python 2.7 dependency from the tests.

TBR=agable@chromium.org,iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@283834 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org f2def0abf8 Update recursedeps to support use_relative_path.
Also cast recursedeps to a set.  We'll continue
to support using a list literal form in DEPS for
now.

R=iannucci@chromium.org,agable@chromium.org
BUG=393000

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@283474 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
smut@google.com d33eab3e58 Revert of Consolidated 'git' refish parsing into a class (https://codereview.chromium.org/328843005/)
Reason for revert:
https://code.google.com/p/chromium/issues/detail?id=391871

Original issue's description:
> Consolidated 'git' refish parsing into a class
>
> Created the 'GitRefish' class to centralize 'git' refish parsing and consistent
> usage by 'gclient' 'git' code.
>
> BUG=373504
> TEST=localtest
> R=agable@chromium.org, iannucci@chromium.org
>
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=281553

TBR=dnj
BUG=391871

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281572 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dnj@chromium.org f2707a6d93 Consolidated 'git' refish parsing into a class
Created the 'GitRefish' class to centralize 'git' refish parsing and consistent
usage by 'gclient' 'git' code.

BUG=373504
TEST=localtest
R=agable@chromium.org, iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281553 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
bratell@opera.com 05fb911fc1 Revert of Allow git cl also in repos with read-only git-svn. (https://codereview.chromium.org/344013005/)
Reason for revert:
Breaks WebRTC (and possibly other projects actually using https:// for svn access).

Original issue's description:
> Allow git cl also in repos with read-only git-svn.
> 
> If you have read-only git-svn git cl would still try
> to use svn commands, which would then fail. This
> changes git cl to only use git-svn if the remote
> svn repository use the svn:// protocol. It matches
> how chromium works and it allowed me to upload a patch.
> 
> BUG=391430
> 
> R=iannucci
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=281500

TBR=iannucci@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=391430

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281513 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
bratell@opera.com 8e05af1084 Allow git cl also in repos with read-only git-svn.
If you have read-only git-svn git cl would still try
to use svn commands, which would then fail. This
changes git cl to only use git-svn if the remote
svn repository use the svn:// protocol. It matches
how chromium works and it allowed me to upload a patch.

BUG=391430

R=iannucci

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281500 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org c401ad1cff Update recurselist to be a set, call it recursedeps now.
Now that recurselist is no longer a list, it doesn't make
sense to call it recurselist.  recurseset is available, but
that's not as easy to read/say compared to recurselist.
Call this recursedeps, instead.

R=iannucci@chromium.org
BUG=390246

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281107 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org 76ce73c726 Add fallback to DEPS from a missing deps file.
It's possible to tell gclient to use a different
"deps" file from the default DEPS through the "deps_file"
variable in the .gclient file.

If this file is missing, fallback to DEPS (the
default).

BUG=390700

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280921 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org e84ac911c5 Add recurselist DEPS var setting.
Previously, recursion overrides were only available by setting
a numeric 'depth' value in a DEPS file.  This meant that it
was not possible to control recursion per-dependency entry.

This change adds a recurselist variable with a list structure.
If a named dependency is present in the list, then gclient will
recurse into that dependency's DEPS.

As part of this change, I move the recursion controls off of
DependencySetting and onto Dependency.  The new setup of being
based on Dependency allows access to the dependency's name.

The controls are only called from Dependency instances.  They
have always needed access to self.parent (in the Dependency
context), so this should be more correct than the previous setup.

BUG=390246

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280690 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
martiniss@chromium.org 905312ccbc Moved around pylint disable warning comments
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280051 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
martiniss@chromium.org 090df6ab1b Added support for git cl upload automatic trybot determination.
This is part of my intern project, which is detailed here:
  "https://docs.google.com/a/google.com/document/d/10bkzag1UUbtESPkEWHYaZtGMEEbCN5Zad72PuoRpwZE/edit#"

The idea is to have "git cl upload" annotate the CL description with a
flag like "CQ_TRYBOTS=...", which CQ will then look at to determine which
trybots to run the the given CL.

The CL for the change for CQ is at "https://chromereviews.googleplex.com/51757013/".

R=dpranke@google.com, iannucci@google.com
BUG=378097

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280039 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dnj@chromium.org 680f217174 Added common git 'fetch' function
Replaced multiple various invocations of 'git fetch' with calls to a common
fetch function.

BUG=373504
TEST=localtest

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@279560 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
jrobbins@chromium.org 0e490288f8 Increased timeout for rietveld lint calls.
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@279463 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 8a13970ea2 Remove hooks until Windows performance issues are sorted.
R=iannucci@chromium.org,hinoka@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@278717 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org b0a13a2a2f Refactor cache-updating code to eliminate unnecessary fetches.
This is an update of the following reverted change:

https://codereview.chromium.org/344443002/

R=hinoka@chromium.org,agable@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@277931 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 3dc5cb77d8 Revert "If managed=False, don't fetch."
This reverts commit 617a1617cf.

BUG=385417
TBR=hinoka@chromium.org,agable@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@277766 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 617a1617cf If managed=False, don't fetch.
This is an issue when bot_update.py is used, and a top-level
solution takes a long time to fetch.  Without this change, it will
be fetched twice.

managed=False really means 'hands off my checkout', so gclient
should honor that.

R=hinoka@chromium.org,agable@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@277565 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@google.com 6895317a7d Revert of scm.GIT.IsValidRevision: Only return True if the given object is a commit (https://codereview.chromium.org/329823002/)
Reason for revert:
Speculative revert to see if this is the cause of auto_roll_test.py to fail in build/ presubmit.

Original issue's description:
> scm.GIT.IsValidRevision: Only return True if the given object is a commit
> 
> BUG=383476
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=276487

TBR=iannucci@chromium.org,maruel@chromium.org,borenet@google.com
NOTREECHECKS=true
NOTRY=true
BUG=383476

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@276493 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
sheyang@chromium.org 152cf83378 Upload project option in 'gcl' and 'git cl' uploading commands.
BUG=374398

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@276491 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 565b1780c6 scm.GIT.IsValidRevision: Only return True if the given object is a commit
BUG=383476

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@276487 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
r.c.ladan@gmail.com ec238db2ad Invoke the bash shell via /usr/bin/env so that these scripts run on operating systems without /bin/bash too.
TEST=run "git cl owners" on FreeBSD
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@274320 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
romain.pokrzywka@gmail.com 483a0ba3f5 Handle branch or commit refs in the url for unmanaged git solutions
This allows having a git repo cloned on a specific branch or commit, similar to
what's possible for svn solutions by specifying a url like svnrepo/branches/foo

Having the possibility to check the code out on a specific branch makes the
initial code checkout workflow simpler, and allows specifying all the relevant
info directly in the fetch recipe, instead of  having to deal with branches
manually afterwards (which is the whole purpose of recipes in the first place)

So with this change, I'm able to do the following in my custom fetch recipe:

    solution = {
        'name' : 'src',
        'url' : 'git@github.snei.sony.com:SNEI/chromium.git@refs/heads/custombranch',
        <following lines skipped>

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@273675 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 10fbe879aa Make marked merge base invalid when the upstream changes.
This should let the base marker transparently work with plain-old-git tools
which was the idea in the first place. Specifically `git branch -u` without a
corresponding rebase.

R=agable@chromium.org
BUG=373977

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@271112 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
bauerb@chromium.org 279c21881c Use `git rev-list A..B` to get the list of commits to be uploaded to Gerrit by git cl.
BUG=374121

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270972 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
sheyang@chromium.org a656e70574 Revert of use canonical base URL for projects (https://codereview.chromium.org/271703010/)
Reason for revert:
CQ rejects all chromium projects because of this change.

Original issue's description:
> use canonical base URL for projects
> 
> BUG=372645
> R=iannucci@chromium.org, sergeyberezin@chromium.org
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=270460

TBR=iannucci@chromium.org,sergeyberezin@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=372645

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270803 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
agable@chromium.org 40a3d0b62b Recursively find all tests in a git repo.
This method is necessary to allow good code organization (i.e., unittests live
adjacent to the source files they test) in the new infra.git repository.

R=maruel@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270564 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
sheyang@google.com 6a9ead263f use canonical base URL for projects
BUG=372645
R=iannucci@chromium.org, sergeyberezin@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270460 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org c4396a1b4e Re-land of have apply_patch.py/checkout.py stage git patches instead of committing them
For a bot_update Git world, we don't really want to commit patches. Instead
we just want to leave them unstaged.

BUG=370503

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@269489 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org 3e6848f2ae Revert of Have apply_patch.py/checkout.py stage git patches instead of committing them (https://codereview.chromium.org/273543002/)
Reason for revert:
Borked all the tryjobs due to missing --base_ref, needed to land with https://codereview.chromium.org/273543002/

Original issue's description:
> Have apply_patch.py/checkout.py stage git patches instead of committing them
> 
> For a bot_update Git world, we don't really want to commit patches.  Instead
> we just want to leave them unstaged.
> 
> BUG=370503
> TEST=ran locally with and without flag
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=269468

TBR=maruel@chromium.org,agable@chromium.org,hinoka@google.com,iannucci@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=370503

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@269482 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org ba2f187250 Have apply_patch.py/checkout.py stage git patches instead of committing them
For a bot_update Git world, we don't really want to commit patches.  Instead
we just want to leave them unstaged.

BUG=370503
TEST=ran locally with and without flag

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@269468 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com b225621281 gclient: Actually move or delete mismatched checkouts
Followup to https://codereview.chromium.org/189913020/ ("gclient: print a warning if a dep would get deleted or moved in the future")

BUG=skia:1638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@268944 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 90fe58b610 gclient_scm: Only _DeleteOrMove if _Clone fails
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@267587 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
bauerb@chromium.org f75c230c9c Warn before uploading more than one commit to Gerrit.
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@267480 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
nodir@chromium.org a779803c2b trychange.py: Gerrit protocol
This change implements Gerrit protocol for posting try jobs. The
"protocol" is described here:
https://code.google.com/p/chromium/issues/detail?id=366099#c10

CLs for Buildbot:
https://codereview.chromium.org/250983003/
https://codereview.chromium.org/259323003/

R=vadimsh@chromium.org, maruel@chromium.org, kmg@chromium.org
BUG=366099, 364639, 364631

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@267379 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
agable@chromium.org ea84ef1828 Get presubmit_support to compute diffs against a given upstream.
R=hinoka@chromium.org
BUG=368720

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@267309 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 6d8115d009 Eliminate all interactive terminal prompts from git.
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@265735 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com a9d9aa429f gclient: Only _DeleteOrMove if the destination directory is non-empty
BUG=364601

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@265298 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
stip@chromium.org 3031d733c4 Revert of Run `svn cleanup` before every update and reset. (https://chromiumcodereview.appspot.com/240503007/)
Reason for revert:
It's inconclusive if this actually helped the bots, so reverting.

Original issue's description:
> Run `svn cleanup` before every update and reset.
> 
> Testing on a bot with an 'unclean' Chromium checkout:
> 
> Unpatched `gclient revert -v -v -v --nohooks --upstream` (unclean checkout)
> real    9m14.280s
> user    0m37.238s
> sys     0m37.738s
> 
> Patched 'gclient revert -v -v -v --nohooks --upstream'  (unclean checkout)
> real    5m50.065s
> user    1m18.889s
> sys     0m57.860s
> 
> ---------------- after patched gclient revert run (cleans the checkout)
> 
> Unpatched 'gclient revert -v -v -v --nohooks --upstream' (clean checkout)
> real    0m21.602s
> user    0m24.966s
> sys     0m13.969s
> 
> Patched 'gclient revert -v -v -v --nohooks --upstream' (clean checkout)
> real    0m27.467s
> user    0m28.382s
> sys     0m22.629s
> 
> BUG=336983
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=264753

TBR=dpranke@chromium.org,iannucci@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=336983

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@265093 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
stip@chromium.org c310473cf5 Run `svn cleanup` before every update and reset.
Testing on a bot with an 'unclean' Chromium checkout:

Unpatched `gclient revert -v -v -v --nohooks --upstream` (unclean checkout)
real    9m14.280s
user    0m37.238s
sys     0m37.738s

Patched 'gclient revert -v -v -v --nohooks --upstream'  (unclean checkout)
real    5m50.065s
user    1m18.889s
sys     0m57.860s

---------------- after patched gclient revert run (cleans the checkout)

Unpatched 'gclient revert -v -v -v --nohooks --upstream' (clean checkout)
real    0m21.602s
user    0m24.966s
sys     0m13.969s

Patched 'gclient revert -v -v -v --nohooks --upstream' (clean checkout)
real    0m27.467s
user    0m28.382s
sys     0m22.629s

BUG=336983

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@264753 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 3f23cdf56d Abort git tools if git repo has too many local branches.
This is a stopgap to prevent people with >20 local branches from running tools
like 'git rebase-update'. This usually indicates that the user isn't in the
habit of cleaning up old branches, which makes these tools unlikely to be useful
in the current state of their repo anyway.

R=agable@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263978 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scr@chromium.org f1eccafb1c Make it possible to refer to github-style URLs.
BUG=362248

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263252 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 5724c961f6 Abort `git cl push` if pushing into a local branch.
R=agable@chromium.org, szager@chromium.org
BUG=338102

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263202 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
nednguyen@google.com 2d8c977b8e Add file:// case in presubmit_canned_checks.CheckLongLines
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263142 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org d09487b8d7 Get rid of UpdateSubmoduleConfig.
It runs very slowly on Windows, and it will soon be obsolete.

BUG=
R=iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262770 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com b09097a42c gclient: print a warning if a dep would get deleted or moved in the future
BUG=skia:1638

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262761 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
isherman@chromium.org 103ae03aa1 For determining OWNERS, drop reviewers specified via '-r' that aren't in email address format.
BUG=none
R=agable@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262641 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org fe0d1902b3 Revamped terminal output for update.
Features:

- Non-verbose output is now limited to a one-line progress
indicator.

- Verbose output is now collated per subprocess.  As soon as a
subprocess finishes, its full output is dumped to terminal.

- Verbose output is prefixed with timestamps representing elapsed
time since the beginning of the gclient invocation.

- git progress indicators ("Receiving objects", etc.) are limited to
one line every 10 seconds.

- In both verbose and non-verbose mode, if a failure occurs, the
full output of the failed update operation is dumped to terminal
just before exit.

- In the event that updates are progressing, but slowly,
"Still working" messages will be printed periodically, to pacify
users and buildbots.

BUG=
R=hinoka@google.com

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262500 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 4e9be26d99 gclient: Fix cache_dir functionality
BUG=361155

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262478 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 9e849276a0 Use get_or_create_merge_base in git-cl-upload to correctly deal with rebased
upstreams.

In the event that users are NOT using the enhanced tooling, this is equivalent
to `git merge-base "@{u}" HEAD`. In the event that they are, this will catch
the case where their parent branch got rebased, but this branch hasn't been
rebased on the parent yet.

R=agable@chromium.org, szager@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@261601 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
nodir@chromium.org ead4c7e58f Revert of revert and fix "Now trychange can...
Bug=359292
Original commit: b1391c6a68
Revert: 8e5f7d308fde74c52e321587649c16568e4a9644

Original commit comment:

> Now trychange can store patches in a Git repo

> A git patch repo is cloned to .git/git-try/patches-git, if was not
> cloned before. Otherwise, changes are pulled. Then a patch is committed a
> pushed.

> --revision=auto (Git only) is resolved to the revision the diff is genera
> against.

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@261247 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
nodir@chromium.org e0536ff702 Revert "Now trychange can store patches in a..."
This reverts commit b1391c6a68.

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@261220 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
agable@chromium.org 772efaf8bc Use CheckCallAndFilterAndHeader for git commands.
This causes git commands to be completely silent (they don't even print
______ running 'git foo bar') if the git command itself is completely silent.
This mirrors the behavior of SVN commands. This is useful for commands like
'gclient diff', which should print no output at all if there is no diff.

R=szager@chromium.org, vadimsh@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@260758 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 512d97d412 Remember what branches we delete and do not try to reparent them in cleanup.
R=agable@chromium.org
BUG=357367

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@260704 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
nodir@chromium.org b1391c6a68 Now trychange can store patches in a Git repo
A git patch repo is cloned to .git/git-try/patches-git, if was not
cloned before. Otherwise, changes are pulled. Then a patch is committed and
pushed.

--revision=auto (Git only) is resolved to the revision the diff is generated
against.

R=stip@chromium.org, agable@chromium.org, iannucci@chromium.org, maruel@chromium.org
BUG=325882

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@260471 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org edeaa81534 Make mark-merge-base cap the marked merge base at the real merge-base.
R=agable@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259697 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org c050a5b2be Add a family of git-commands to assist with the management of multiple CLs/branches.
git-rebase-update - ensure all branches are up to date
git-new-branch - create branches
git-rename-branch - rename a branch while preserving parentage relationships
git-reparent-branch - change the parent of a branch, including rebasing it correctly onto that new parent.
git-squash-branch - collapse a branch into a single commit
git-upstream-diff - show the diff between the current branch and it's upstream branch
git-mark-merge-base - explicitly set what you want the above tools to consider the merge-base for the current branch.

R=agable@chromium.org, hinoka@chromium.org, stip@chromium.org, szager@chromium.org
BUG=261738

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259520 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
isherman@chromium.org b5cded6951 Infer CL author and reviewer list from local state if the issue has not previously been uploaded.
R=agable@chromium.org
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259250 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 88d100836d gclient: in managed mode, warn if .gclient has a mismatched URL
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@258617 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org a4e4ef38a2 Fix push-basic.sh. How did it ever pass? We may never know.
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@257738 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 97345ebf1a Add git thaw/freeze to depot_tools.
R=agable@chromium.org, hinoka@chromium.org, stip@chromium.org, szager@chromium.org
BUG=261738

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256778 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
stip@chromium.org 626e77d9d3 Make rietveld test work on port 10000.
depot_tools PRESUBMIT.py and tools/build PRESUBMIT.py both run on cq.golo.

If broken dev_appserver.py instances are left around, they will conflict with
master ports.

BUG=351926

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256721 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 8bc9b5c101 Add git-map and git-map-branches to depot_tools.
git-map: Show your local repo's history in a pseudo-graphical format from the command line.

git-map-branches: Show the topology of all of your branches, and their upstream relationships.

git-nav-upstream: Navigate (checkout) to the upstream branch of the current branch.

git-nav-downstream: Navigate (checkout) to a downstream branch of the current branch. If there's more than one downstream branch, then present a menu to select which one you want.

R=agable@chromium.org, hinoka@chromium.org, stip@chromium.org, szager@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256384 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thestig@chromium.org 44202a28e9 Implement git cl lint.
Review URL: https://codereview.chromium.org/134223010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256289 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org d0b0a5b08c Revert of Another attempt: gclient: delete mismatching checkouts (https://codereview.chromium.org/183283003/)
Reason for revert:
Broke `gclient sync` for me, failing with:

Error: 1> Can't update/checkout /Volumes/MacintoshHD2/src/chrome-git/src if an unversioned directory is present. Delete the directory and try again.


For someone else, it broke it with:

% gclient sync

________ unmanaged solution; skipping src

Error: Command svn info --xml returned non-zero exit status 1 in /Users/pawliger/chromium/src/.

<?xml version="1.0" encoding="UTF-8"?>

<info>

svn: E155007: '/Users/pawliger/chromium/src' is not a working copy

Original issue's description:
> Another attempt: gclient: delete mismatching checkouts
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=255930

TBR=iannucci@chromium.org,szager@chromium.org,maruel@chromium.org,mmoss@chromium.org,borenet@google.com
NOTREECHECKS=true
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256005 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 7ff04292ac Another attempt: gclient: delete mismatching checkouts
Review URL: https://codereview.chromium.org/183283003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@255930 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
machenbach@chromium.org 58a69cbe01 Support multiple try masters when sending tries to rietveld.
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@254321 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@google.com 267f33e6ad Make gclient_scm.py use cache_dir
Instead of having custom logic for dealing with cache directories, use
git_cache.py to populate caches.

Also fixes a bug in git_cache.py where it was looking for lockfiles in cwd rather than the cache dir.

Other changes:
* _Run now returns output.
* Always print to stdout in CheckCallAndFilterOutput, even if it gets a carriage return.  This is done because git progress report are carriage returns and not newlines and we don't want everything on the same line and not strip out the CRs.
* Removed members changed tests, its not very useful to know a new import is added.

BUG=339171

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@254248 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 6c2b49d392 Revert "Re-re-land gclient deletion of mismatching checkouts again"
This reverts commit 6ff5448534.

'fetch --nohooks chromium' is broken with this change.

BUG=

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

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