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
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
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
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
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
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
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
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
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
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
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
"""
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
"""
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
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
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
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
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
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
This commit fixes that, though the --snapshot option doesn't work perfectly.
Review URL: http://codereview.chromium.org/900001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@41351 0039d316-1c4b-4281-b951-d872f2087c98
This simplifies the unit tests and clarify what is what.
Ran pychecker on a few files.
Review URL: http://codereview.chromium.org/874002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@41310 0039d316-1c4b-4281-b951-d872f2087c98
set to sync to the current revisions/hashes on disk
Add a --gclientfile=FILENAME option. If set, gclient loads FILENAME
rather than .gclient for configuration info.
Patch contributed by jneddo@nvidia.com
BUG=1658
TEST=Verify that --snapshot prints a valid configuration file
Verify that when --gclientfile is set the correct file is used
Verify that gclient sync --gclientfile sets the correct revisions
Review URL: http://codereview.chromium.org/672004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@41078 0039d316-1c4b-4281-b951-d872f2087c98
Moved tests/pymox to third_party/pymox
Moved upload.py to third_party/upload.py
Fixed tests so they can run standalone
Fixed the executable bit on some scripts
TEST=none
BUG=34376
Review URL: http://codereview.chromium.org/562031
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37987 0039d316-1c4b-4281-b951-d872f2087c98
Doing something like basename when concatenating base_url with
relative url.
Added use_relative_urls2 to enable switching between old
implementation and new implementation. Once the old implementation
is deprecated we can remove the use_relative_urls2.
Review URL: http://codereview.chromium.org/500015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@34563 0039d316-1c4b-4281-b951-d872f2087c98
Client-side implementation.
TODO: Need to automatically disable it for unit tests.
Review URL: http://codereview.chromium.org/444009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@33681 0039d316-1c4b-4281-b951-d872f2087c98
TEST=none
BUG=none
Move scm functions into a class to make it simpler to manage.
Review URL: http://codereview.chromium.org/391052
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32057 0039d316-1c4b-4281-b951-d872f2087c98
ssh://test@example.com wasn't being parsed correctly for revinfo.
Fixed by factoring out all code which splits url into a base_url
and revision.
Review URL: http://codereview.chromium.org/391048
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31910 0039d316-1c4b-4281-b951-d872f2087c98
* Add revinfo as part of SCMWrapper interface.
* Implement revinfo for git and svn.
* Add unit tests.
Review URL: http://codereview.chromium.org/362008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31280 0039d316-1c4b-4281-b951-d872f2087c98
print messages unless the underlying commands actually generate output.
This is a more conservative version of r28271.
BUG=none
TEST=none
R=maruel
Review URL: http://codereview.chromium.org/344004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@30296 0039d316-1c4b-4281-b951-d872f2087c98
This reverts commit 28058.
BUG=24081
TEST=gclient sync without --force is not working anymore.
TBR=dpranke
Review URL: http://codereview.chromium.org/269006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28271 0039d316-1c4b-4281-b951-d872f2087c98
Its side-effect caused tree breakages, at least on the try slaves.
TBR=dpranke
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/251095
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28058 0039d316-1c4b-4281-b951-d872f2087c98
messages when --verbose is specified or when something actually happens.
Also, remove --manually_grab_svn_rev, because we need this to happen all
the time to get gclient update to shut up if we're comparing against HEAD.
It doesn't look like there are any real side effects of removing this.
An alternative change would be to wrap this behind a --quiet flag.
Note that the change to tests/trychange_unittest.py is an unrelated fix to get
all the tests to pass.
R=maruel@chromium.org
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/257023
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28039 0039d316-1c4b-4281-b951-d872f2087c98
Replaced a call to CaptureSVNStatus with a SCMWrapper::status
gclient: store gclient_entries as a dict
Currently we only store the relative path for entries.
We need to also store the url so that learn the repo type: git or snv.
Review URL: http://codereview.chromium.org/248011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@27370 0039d316-1c4b-4281-b951-d872f2087c98
Currently, revision numbers are stored as int. This won't work
for git's SHA1s. So storing revisions as strings.
Review URL: http://codereview.chromium.org/208060
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26940 0039d316-1c4b-4281-b951-d872f2087c98
This is for situations where the solution is checked out by another SCM
mechanism (e.g. update-webkit or just svn co) but we want to use gclient to
fetch the dependencies.
Review URL: http://codereview.chromium.org/211057
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26876 0039d316-1c4b-4281-b951-d872f2087c98
gclient_scm: use a map for deciding whether or not the scm is supported
gclient_scm: add a checks for unsupported scm and unimplemented method
git_scm: pull out svn code into SVNWrapper
gclient_scm: create a create_scm factory method
Use a factory method to abstract SCMWrapper creation. This method
will eventually return the correct subclass of SCMWrapper. Initially,
there will only be SVNWrapper.
Review URL: http://codereview.chromium.org/215022
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26823 0039d316-1c4b-4281-b951-d872f2087c98
This method will eventually return the correct subclass of SCMWrapper. Initially, there will only be SVNWrapper.
gclient_scm: add test for unsupported scm
gclient_scm: make SCMWrapper constructor parameters non-optional
gclient_scm: add a checks for unsupported scm and unimplemented method
git_scm: pull out svn code into SVNWrapper
gclient_scm: create a create_scm factory method
TEST=
BUG=none
Review URL: http://codereview.chromium.org/216014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26602 0039d316-1c4b-4281-b951-d872f2087c98
Part of a larger refactoring to abstract SCM-specific bits.
presubmit_support, revert, gcl: modify to import gclient_scm and gclient_utils
Part of a larger refactoring to abstract SCM-specific bits.
revert, gcl: modify to import gclient_scm and gclient_utils
Part of a larger refactoring to abstract SCM-specific bits.
gclient: pull out SCM bits
Pulled out SCMWrapper into gcliet_scm.py as part of a larger refactoring to
abstract SCM-specific bits. Plan is to evenutally add git support.
Pulling out SCMWrapper also required pulling out utility functions into
a gclient_utility.py.
Patch contributed by msb@
TEST=none
BUG=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26423 0039d316-1c4b-4281-b951-d872f2087c98
name of the top level "DEPS" file of a solution from within the .gclient spec.
This allows users to edit their gclient once and use a different (perhaps
experimental) DEPS file instead of the traditionally named "DEPS".
Review URL: http://codereview.chromium.org/203040
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26031 0039d316-1c4b-4281-b951-d872f2087c98
the root of the source tree. It is similar to "gclient diff", and
shares much of the implementation, but it seems that developers may
want the semantics of each in different situations, which is why it is
being added as a new command.
Generalized SubprocessCallAndCapture into SubprocessCallAndFilter.
Added RunSVNAndFilterOutput; changed RunSVNAndGetFileList to use it.
Fixed problem in presubmit_canned_checks.py where it was not working
on Windows. Updated unit tests for gclient.
Review URL: http://codereview.chromium.org/193004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@25410 0039d316-1c4b-4281-b951-d872f2087c98
Based on Mark Mentovai's mail.
Review URL: http://codereview.chromium.org/164068
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@22616 0039d316-1c4b-4281-b951-d872f2087c98
the --delete_unversioned flag is specified. This only affects the update
command. Reverts will still delete the unversioned tree.
Review URL: http://codereview.chromium.org/125147
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@19021 0039d316-1c4b-4281-b951-d872f2087c98
Bail off as soon as there is anything showing up on svn status.
TBR=sgk
Review URL: http://codereview.chromium.org/113319
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@15929 0039d316-1c4b-4281-b951-d872f2087c98
This was breaking gclient revert on unversioned files.
TEST=ran "for %a in (tests\*test.py) do python %a" and all tests succeeded.
Review URL: http://codereview.chromium.org/115264
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@15894 0039d316-1c4b-4281-b951-d872f2087c98
- Fix gclient revert/status when one of the dependency directory is deleted.
- Remove an unneeded svn update after svn checkout.
- Updated tests.
Review URL: http://codereview.chromium.org/100256
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@15068 0039d316-1c4b-4281-b951-d872f2087c98