Commit Graph

119 Commits (e3216c6e26fb3860b1ae51aef2cfc5414347df48)

Author SHA1 Message Date
maruel@chromium.org e3216c6e26 Improve testing with File() keyword, found a few bugs along the way
TEST=new smoke tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51824 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 5248d9dfe3 Revert both r51761 and r51760 as it broke the webkit slaves.
TBR=msb

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51767 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 6e55ebea5e Copy paste failure.
I didn't run the unit test after doing the last minute change and it was indeed broken.

TBR=msb

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51761 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org adecb3162f Bring some OOP and sanity to gclient.py.
- Changed the algorithm from breadth-first to depth-first.
- Added infinite recursion support.
- Fixed From() of From() dependency.
- Fixed cross solution custom deps aliasing.
- Removed support code for old .gclient_entries format.
- Removed IsGitCheckout() in favor for a direct check for .git presence.

TEST=all test pass

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51760 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org eaf6106fdf Move _RunHooks() higher to simplify the diff. NO CODE CHANGE.
Review URL: http://codereview.chromium.org/2885021

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51746 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 5990f9d536 Give more simple message when a SyntaxError is thrown
TEST=none, no big deal. I'll get a breakpad report otherwise anyway. This is solely to *reduce* the number of breakpad stack trace that this is done.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51739 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 73e2114e7d Mixed bag of nits.
Remove SUPPORTED_COMMANDS since it is not necessary, change the formating to not introduce an empty line.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51640 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
piman@chromium.org 4b90e3a55b Add gclient recurse
This allows to recurse in all the entries to operate on them.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51419 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org d36fba8100 Add more glue code necessary for getting the DEPS dependencies as Dependency objects.
Review URL: http://codereview.chromium.org/2857017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50988 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 81843b86ef Make the exception user-friendly
Review URL: http://codereview.chromium.org/2866017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50987 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 271375b004 Move DEPS parsing into a single function. This is a move towards having each DEPS entry being a Dependency instance.
TEST=new revinfo unit tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50630 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 0d425926d8 Revert r50367 "Move DEPS parsing into a single function." yet again...
TBR=nasserg

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50372 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 6b57049528 Move DEPS parsing into a single function. This is a move towards having each DEPS entry being a Dependency instance.
TEST=new revinfo unit tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50367 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org ba0fce74f5 Revert revision 50247 "Move DEPS parsing into a single function."
It breaks on Windows.

TBR=msb

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50248 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 038527953c Move DEPS parsing into a single function. This is a move towards having each DEPS entry being a Dependency instance.
Review URL: http://codereview.chromium.org/2839008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50247 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 9a66ddfcf8 Move these functions to Dependency to simplify the diff later.
No code change.

_ParseSolutionDeps(), _ParseAllDeps(), _RunHookAction(), _RunHooks()

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49960 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 0b6a084052 More work toward refactoring. Simplify LoadCurrentConfig() and convert most " with '.
Review URL: http://codereview.chromium.org/2807003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49789 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 54a07a2f8f Make each solution dictionary an object.
The change is partial to keep this change still correct but readable/reviewable.
Followup changes will further move functions into the Dependency class.
If it was done in one change, it would be unreviewable.
Fix GetScmName() for protocol svn+ssh://.

TEST=didn't break the smoke tests.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49707 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 75a5927d4f Switch usage of self._root_dir to self.root_dir()
Another step in my quest to make the refactor reviewable.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49601 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 9eda411072 Incremental changes towards more efficient refactoring of gclient.py
Fix gclient diff & pack to not throw uncatched exceptions when a directory is missing.

Reorder things in gclient.py for easier diff later
Update revinfo help
Add GetScmName(), it will be needed later.

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49565 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org f0fc991611 Options cleanup, enforce nohooks and deps_os are always defined.
Review URL: http://codereview.chromium.org/2776006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49554 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 116704f20d Some preparation work towards the gclient.py refactor.
Switch "" usage to '' to please Brad. Didn't change gclient.py yet because it
will conflict with the refactor.

TEST=unit tests still pass.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49545 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 6e29d572b5 Add pylintrc and fix style for many scripts.
Fix a bug in scm.SVN.DiffItem()

Reduce variable aliasing, fix alignments, etc.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48943 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org c0b8a4ecb9 Add shorthand to many flags
Review URL: http://codereview.chromium.org/2455008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48738 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 307d179455 Move all revision parsing code to _EnforceRevisions.
Make -r invalid@rev a warning and ignore the argument.
Make -r rev use the Nth solution.
Fix a bug in FakeRepos.assertTree().

TEST=updated the smoke test to reflect the new behavior which should be the most compatible with the current buildbot behavior
BUG=chromium-os:3465

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48607 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 86c0dec826 Add --deps for all commands beside config and help. Fix help.
Review URL: http://codereview.chromium.org/2384001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48508 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 17cdf76123 Make FakeRepos more reusable.
Make it work with 'coverage'.
Make FakeRepos initialization lazy. Only generate the repository when needed. It's in part intended for gclient_scm_tests.py but I left it out of this review.

To use:
  easy_install coverage
  ./tests/gclient_smoke.py -c
  coverage report

Current coverage with gclient_smoke:

Name                        Stmts   Exec  Cover
-----------------------------------------------
gclient                       557    416    74%
gclient_scm                   496    270    54%
gclient_utils                 195    117    60%
scm                           439    180    41%
(ignoring irrelevant files)

It's quite good in fact, 74% of gclient.py being executed with the smoke test.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48501 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 918a9ae625 Add workaround to ignore the first solution specified with --revision solution@rev
TEST=new smoke test
BUG=chromiums-os:3465

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48490 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nasser@codeaurora.org d0fd5f0d80 Fix gclient revinfo
Review URL: http://codereview.chromium.org/2380001

Change-Id: Icfef43fe507be04b8c178440834d26b9ac3ced77

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48489 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 6b1d00b0d0 Add --deps support for revert, status and runhooks. Fix gclient status.
This may not make sense in practice but is necessary for testing. Add regression test.

TBR=msb
TEST=smoke test
BUG=23328

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48317 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 35f08156cb Quick fix for gclient revert.
I'll add a smoke test after.

TBR=msb
TEST=to be written later
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48314 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 5fc2a33a78 Add more smoke test for gclient config and gclient revinfo.
BUG=23328

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48311 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 5ca2769d42 Reapply 48271 for the third time with fix.
"""
Enable automatic command and one-liner doc. Reformat pydoc accordingly.
Add parser as an argument and parse_args hook in preparation to move parse_args at the right place, inside the CMDxx functions.

R.I.P. gclient_test.py
"""
original code review at: http://codereview.chromium.org/2253002

In addition:
- Add more smoke tests: vars, hooks, runhooks
- Bugs filed about misbehavior with git checkout
- Fixed gclient runhooks

TEST=smoke test
BUG=23328

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48309 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 8f041185af Revert "Reapply 48271 with fix."
Still broken.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48290 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 3365c913c4 Reapply 48271 with fix.
"""
Enable automatic command and one-liner doc. Reformat pydoc accordingly.
Add parser as an argument and parse_args hook in preparation to move parse_args at the right place, inside the CMDxx functions.

R.I.P. gclient_test.py
"""
original code review at: http://codereview.chromium.org/2253002

In addition:
- Add more smoke tests: vars, hooks, runhooks
- Bugs filed about misbehavior with git checkout
- Fixed gclient runhooks

TEST=smoke test
BUG=23328

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48289 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 5434b4e20a Reverting last change, broke update.
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48272 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 096469fa69 Enable automatic command and one-liner doc. Reformat pydoc accordingly.
Add parser as an argument and parse_args hook in preparation to move parse_args at the right place, inside the CMDxx functions.

R.I.P. gclient_test.py

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48271 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org ddff62df37 Goes further down the rabbit hole.
Enable automatic command and one-liner doc. Reformat pydoc accordingly.
Add parser as an argument and parse_args hook in preparation to move parse_args at the right place, inside the CMDxx functions.
Update unit tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@47449 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 491c04b1ea Run pychecker and caught some issues
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@47436 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 1f7d1180cb Mode constants at their right places.
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@47434 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org e9e2223e6e Remove unneeded args of args that are the default value anyway.
Less text = better readability.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@47389 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 79692d64d8 Remove redundance in the documentation.
Make the documentation more manageable and use automatic function discovery.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@47290 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
tony@chromium.org d2e925611f Revert r45652 and r45653. It broke the single file export
feature.

TBR=piman,jamesr
Review URL: http://codereview.chromium.org/1730014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@45660 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
piman@chromium.org 6f36372433 patch from issue 1640001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@45652 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
piman@chromium.org 54c3a7e9ad TBR: jamesr
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@44871 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
piman@chromium.org 8b5086d8d5 Add -j option to gclient to run parallel updates
On a chromeos checkout, -j 10 brings down null sync time from 2 minutes to 16 seconds
Currently -j may break some assumptions about ordering of commands (which may be fine for some clients, but not all), so it's not on by default.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@44869 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
tony@chromium.org 30ef9ae362 Extend From() to allow importing from different mappings. Also
allow From() to import when the URL is relative.

For example, if src/DEPS is:
deps = {
  'base' = 'svn://svn/base@123',
  'main' = From('base', 'src/main'),
}
and base/DEPS is:
deps = {
  'src/main': '/main@100',
}

This will checkout svn://svn/main@100 in main.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@44044 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 1edec4dca6 Fix a python 2.6ism
Review URL: http://codereview.chromium.org/1627010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@43960 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org e41f682751 Workaround output variance in pprint.pformat.
TEST=fix unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@43952 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
tony@chromium.org 4b5b1779fb Add the ability to check out a single file from a repo.
The syntax is:
deps {
  'path': File('http://svn..../path/file@42')
}

This will checkout a single file and use scm.update to
keep it up to date.

See https://bugs.webkit.org/show_bug.cgi?id=36578#c7 for a
description of why I want to add this.

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

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