This makes the code saner to understand.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3420014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@60050 0039d316-1c4b-4281-b951-d872f2087c98
Added try/except to the places where errors are tolerated.
Renamed scm.SVN.CaptureBaseRevision to CaptureRevision and removed CaptureHeadRevision.
BUG=54084
TEST=none
Review URL: http://codereview.chromium.org/3307016
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58932 0039d316-1c4b-4281-b951-d872f2087c98
pylint is useful to catch errors before they go live so fix little annoyances.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3372001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58817 0039d316-1c4b-4281-b951-d872f2087c98
Simplify GitWrapper._Run() and move logging at the right place.
TEST=none
BUG=54084
Review URL: http://codereview.chromium.org/3358015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58694 0039d316-1c4b-4281-b951-d872f2087c98
This starts at 5 seconds (used to be 15) and goes up to ~60 seconds on the tenth round.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3326004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58488 0039d316-1c4b-4281-b951-d872f2087c98
Needed to fix a few function calls to make it work.
BUG=54084
TEST=unit tests
Review URL: http://codereview.chromium.org/3303004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58287 0039d316-1c4b-4281-b951-d872f2087c98
This way the function is much more similar to subprocess.call(). Further changes
will be done, to be able to convert all the function, to be able to parallelize
output without corrupting it.
Used pylint to verify call graph correctness, causing some other unrelated
changes.
TEST=unit tests
BUG=none
Review URL: http://codereview.chromium.org/3117039
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57369 0039d316-1c4b-4281-b951-d872f2087c98
It will eventually replace 'print_messages' and be used to annotate printed
lines when using --jobs.
Review URL: http://codereview.chromium.org/3174020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57092 0039d316-1c4b-4281-b951-d872f2087c98
Original Description:
Remove code duplication and improve style.
Create a Popen function to reduce code duplication.
Use RemoveDirectory where relevant.
Make drover slightly more posix friendly.
Review URL: http://codereview.chromium.org/3199011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57083 0039d316-1c4b-4281-b951-d872f2087c98
Create a Popen function to reduce code duplication.
Use RemoveDirectory where relevant.
Make drover slightly more posix friendly.
Review URL: http://codereview.chromium.org/3126020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56893 0039d316-1c4b-4281-b951-d872f2087c98
gclient pack because of spurious EOL-only changes seen on Linux.
BUG=none
TEST=ran gclient pack in Chromium repository and verified output manually
Review URL: http://codereview.chromium.org/3189010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56710 0039d316-1c4b-4281-b951-d872f2087c98
That makes --force less necessary.
Review URL: http://codereview.chromium.org/3160026
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56581 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise, if someone flush svn:ignore in src/third_part by error and that
causes a lot of files to be deleted, buildbot may hang while waiting for output.
BUG=Previous behavior killed the win try slaves.
TEST=smoke tests
Review URL: http://codereview.chromium.org/3171015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56541 0039d316-1c4b-4281-b951-d872f2087c98
Use svn up --force if -m or -f is used.
Renamed AddAdditionalFlags to _AddAdditionalUpdateFlags to be clearer about its purpose.
Strings cleanup.
With this change, it becomes more manageable to use -m on the continuous build.
Review URL: http://codereview.chromium.org/3185006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56394 0039d316-1c4b-4281-b951-d872f2087c98
This is towards cleaning up the mess with 'options' in gclient_scm.py.
Review URL: http://codereview.chromium.org/3106014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56213 0039d316-1c4b-4281-b951-d872f2087c98
BUG=36135
TEST=gclient sync on a svn lock'ed directory will work automatically
Review URL: http://codereview.chromium.org/3028053
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55438 0039d316-1c4b-4281-b951-d872f2087c98
To reduce server load, only fetch the ref we need.
This is a redo of: http://codereview.chromium.org/2856038
First upload was the original CL 2856038. Subsequent uploads
are my changes.
TEST=ran presubmit tests
Review URL: http://codereview.chromium.org/2842060
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53072 0039d316-1c4b-4281-b951-d872f2087c98
This looks like it broke syncing from git repos:
File "/home/derat/local/depot_tools/gclient.py", line 1208, in <module>
sys.exit(Main(sys.argv[1:]))
File "/home/derat/local/depot_tools/gclient.py", line 1198, in Main
return command(parser, argv[1:])
File "/home/derat/local/depot_tools/gclient.py", line 1035, in CMDsync
return client.RunOnDeps('update', args)
File "/home/derat/local/depot_tools/gclient.py", line 621, in RunOnDeps
scm.RunCommand(command, self._options, args, file_list)
File "/home/derat/local/depot_tools/gclient_scm.py", line 115, in RunCommand
return getattr(self, command)(options, args, file_list)
File "/home/derat/local/depot_tools/gclient_scm.py", line 264, in update
print_error=False)
File "/home/derat/local/depot_tools/scm.py", line 84, in Capture
return gclient_utils.CheckCall(c, in_directory, print_error)
File "/home/derat/local/depot_tools/gclient_utils.py", line 58, in CheckCall
raise CheckCallError(command, cwd, process.returncode, std_out, std_err)
gclient_utils.CheckCallError: (['git', 'fetch', 'origin', 'cc1c63d'],
'/usr/local/google/home/derat/chrome/src/third_party/cros', 128, '', "fatal:
Couldn't find remote ref cc1c63d\nfatal: The remote end hung up unexpectedly\n")
BUG=none
TEST=works again after the revert
Review URL: http://codereview.chromium.org/2888023
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53056 0039d316-1c4b-4281-b951-d872f2087c98
To reduce server load, only fetch the ref we need.
TEST=ran presubmit tests
Review URL: http://codereview.chromium.org/2856038
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52941 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
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
switching repositories. This could result in clobbering
changes you may have in a third_party checkout, but if
you pass --force, I think you're asking for this behavior.
Review URL: http://codereview.chromium.org/2645001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48902 0039d316-1c4b-4281-b951-d872f2087c98
Turns out that this was added in svn 1.5 and the mac bots
use svn 1.4.4.
Review URL: http://codereview.chromium.org/2623002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48899 0039d316-1c4b-4281-b951-d872f2087c98
command line to gclient, pass the flag to svn update and
svn co too.
This allows updates when we have dirty files left around.
For example, an update may remove a directory, but the
directory still has .vcproj or .mk files in it. If we
try to re-add that directory, svn will error out. If
we add --force, it'll happily allow the update.
Review URL: http://codereview.chromium.org/2560001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48897 0039d316-1c4b-4281-b951-d872f2087c98
I found including a git repo in my DEPS file to be unreliable, esp
since I pinning to a specific commit. Whenever I changed the commit
in the DEPS file, gclient would attempt to do a rebase and this was
failing due to how rebase was being invoked.
While investigating the problem, I decided it might be better to take
a different approach. Namely, when cloning gclient should just checkout
the working tree to a detached HEAD. In this way, gclient can more
easily determine if the user has made any changes in the cloned repo.
Future updates (as long as there are no changes) become a much simpler
operation w/no need to invoke rebase.
This is a series of five commits, but sadly, git cl will squash them
into this single review. Here are the original commit messages:
commit 8cd2213f006a6f4b3f6b8c448a1362b9410d47f1
Author: Jay Soffian <jaysoffian@gmail.com>
Date: Wed Apr 14 18:29:18 2010 -0400
Use rev-parse to determine current branch
Git branch is a so-called porcelain and its output cannot be relied upon;
use git rev-parse instead.
gclient_scm.py | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
commit 1a09e04554acfa2671f9588ee9eef0bdbe677ed2
Author: Jay Soffian <jaysoffian@gmail.com>
Date: Wed Apr 14 22:16:53 2010 -0400
Detached HEAD does not always imply rebasing; use an _IsRebasing()
function instead.
gclient_scm.py | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
commit 45308a58c3f1e30b760f13abe3a6288267265fa8
Author: Jay Soffian <jaysoffian@gmail.com>
Date: Wed Apr 14 22:19:10 2010 -0400
Clarify comments to use common git terminology
gclient_scm.py | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
commit 5e5a661b7dd9c83b2c9c35950f3267d15b7e840a
Author: Jay Soffian <jaysoffian@gmail.com>
Date: Tue May 4 12:15:40 2010 -0400
Make CaptureStatus use GetUpstreamBranch() instead of assuming 'origin'
scm.py | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
commit 42a8bfebd2e1b1be01025c1324d75920ac6eb0e1
Author: Jay Soffian <jaysoffian@gmail.com>
Date: Wed Apr 14 22:19:29 2010 -0400
Use a detached HEAD when checking out a tag or commit
After cloning, if a tag or commit was specified, leave a detached HEAD. This way
we can reliably detect if the user changed the working tree (since HEAD would no
longer be detached). Further, this simplifies the code path when the dependency
is updated to a new tag/commit. As long as HEAD is detached when we update, we
simply checkout whatever we fetched w/o needing to worry about rebasing.
gclient_scm.py | 126 +++++++++++++++++++++++++++++++-------------
tests/gclient_scm_test.py | 6 +--
2 files changed, 91 insertions(+), 41 deletions(-)
Review URL: http://codereview.chromium.org/1652007
Patch from Jay Soffian <jaysoffian@gmail.com>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48722 0039d316-1c4b-4281-b951-d872f2087c98
Turns out svn treats extra whitespace as part of the revision number and throws an exception.
BUG=44790
TEST=insert some spaces in your revision arguments, gclient should still work
Review URL: http://codereview.chromium.org/2077017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@47979 0039d316-1c4b-4281-b951-d872f2087c98
It now defaults to origin/master when no branch is tracked.
TEST=git-try on untracked branch now doesn't result in an empty diff
BUG=none
Review URL: http://codereview.chromium.org/1739021
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@45935 0039d316-1c4b-4281-b951-d872f2087c98
of svn co --depth.
This should work even if you change svn versions between gclient syncs.
Review URL: http://codereview.chromium.org/1560029
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@44441 0039d316-1c4b-4281-b951-d872f2087c98
Broken by the @branchname support
Review URL: http://codereview.chromium.org/907004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@41585 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