Add Dependency.processed and .hooks_ran to ease debugging.
Accept when more than one reference exist for FromImpl(), it may happen as it is the case for pagespeed.
Not much behavior change.
Review URL: http://codereview.chromium.org/3126003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55575 0039d316-1c4b-4281-b951-d872f2087c98
It would modify self.parsed_url even when it's called for a From() keyword
Review URL: http://codereview.chromium.org/3171001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55574 0039d316-1c4b-4281-b951-d872f2087c98
Also rename an argument to better fit reality.
No functional change
Review URL: http://codereview.chromium.org/3108001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55559 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
That change allows for merging multiple revisions into a local working copy.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3041034
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@54399 0039d316-1c4b-4281-b951-d872f2087c98
BUG=none
TEST=Make change in local sandbox and confirm proper things happen on "git try help", "git try xyzzy", and "git try -b linux."
Review URL: http://codereview.chromium.org/3075009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@54374 0039d316-1c4b-4281-b951-d872f2087c98
This was the behavior before the refactor.
TEST=sync parfait and hooks should be run when necessary.
TBR=bradnelson
Review URL: http://codereview.chromium.org/2819062
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53430 0039d316-1c4b-4281-b951-d872f2087c98
This issue is exhibited by pagespeed.
Also a solution is always a direct dependency by definition.
TEST=none
TBR=bradnelson
Review URL: http://codereview.chromium.org/3036013
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53397 0039d316-1c4b-4281-b951-d872f2087c98
No behavior change.
TEST=all test still pass
TBR=bradnelson
Review URL: http://codereview.chromium.org/3005026
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53392 0039d316-1c4b-4281-b951-d872f2087c98
PageSpeed is an example of such ordering dependency.
TBR=bradnelson
Review URL: http://codereview.chromium.org/2809072
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53377 0039d316-1c4b-4281-b951-d872f2087c98
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
The main difference with r51760 is that new smoke tests have been added since which replicates how webkit checkouts with gclient.
Review URL: http://codereview.chromium.org/2917009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53205 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
This is the same as the last cl, but hopefully with the right svn
server.
Review URL: http://codereview.chromium.org/3023008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53043 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
Rather than updating git-cl whenever gclient is invoked, update it
whenever git-cl is invoked.
In the chromium-os workflow, folks often run git-cl but rarely run gclient.
This results in folks running an older git-cl which may not
have the latest features/fixes.
TEST=
Tested that git-cl is updated when it is stale, git-cl is cloned when it doesn't exist and is not updated when DEPOT_TOOLS_UPDATE=0
Review URL: http://codereview.chromium.org/2962013
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52236 0039d316-1c4b-4281-b951-d872f2087c98
Chromium OS continuous builds are failing because of the following error.
Traceback (most recent call last):
File "/b/depot_tools/gclient.py", line 1212, in <module>
sys.exit(Main(sys.argv[1:]))
File "/b/depot_tools/gclient.py", line 1202, in Main
return command(parser, argv[1:])
File "/b/depot_tools/gclient.py", line 1122, in CMDrevinfo
client.PrintRevInfo()
File "/b/depot_tools/gclient.py", line 776, in PrintRevInfo
url = entries.pop(name)
KeyError: 'chromiumos'
This change will fix the error.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/2892007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52180 0039d316-1c4b-4281-b951-d872f2087c98
Emulate running gclient from a checkout containing .gclient and a DEPS, with the
solution having an url set to None.
TEST=new smoke test
Review URL: http://codereview.chromium.org/2897010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52119 0039d316-1c4b-4281-b951-d872f2087c98
This is being abused by WebKit.
TEST=new smoke test
Review URL: http://codereview.chromium.org/2923005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52096 0039d316-1c4b-4281-b951-d872f2087c98
This case covers the webkit gclient usage.
TEST=improved smoke test
Review URL: http://codereview.chromium.org/2968005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52092 0039d316-1c4b-4281-b951-d872f2087c98
Add the fix for FileImpl() plus unit tests.
TEST=more tests
Review URL: http://codereview.chromium.org/2808048
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52005 0039d316-1c4b-4281-b951-d872f2087c98
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
- 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
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
* also allow PATH entry to end in / (which is valid)
* in case depot_tools cannot be located in PATH, search for them using which
* added dependency on subprocess (new in python 2.4)
M git-cl-upload-hook
TEST=run the hook manually with:
1) PATH containing the depot_tools, depot_tools/ (success)
2) checkout of depot_tools into ~/x, and PATH containing that (success)
3) PATH not containing any copy of depot_tools (fail)
4) Several PATH entries containing gclient, not called depot_tools (success)
Review URL: http://codereview.chromium.org/2852032
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51207 0039d316-1c4b-4281-b951-d872f2087c98
Right now if you svn cp or svn mv before uploading to rietveld,
there's no description in the patch at all of what was done; so you
get a diff, but it's for who knows what revision of what prior file
to some current version.
For code reviews this kinda works (you ask the guy what it was), but for
trying to apply patches (ala git patch) this fails badly. This patch
tries to add some metadata to the start of a rietveld patch that
describes these changes: both to a human (who can read them)
and to a potential clever future git-cl (which I'll do next).
The metadata looks like this after checking out a test repo, and
svn cp -r 1 foo nitz; svn cp bar quux; echo be good>>quux
### BEGIN SVN COPY METADATA
#$ svn cp -r 1 foo nitz ### WARNING: note non-trunk copy
#$ cp bar quux
### END SVN COPY METADATA
Index: nitz
Index: quux
===================================================================
--- quux (revision 0)
+++ quux (working copy)
@@ -1,2 +1,3 @@
hi mom
hi sister
+be good
I did a test, and this looks like it works in svn 1.4.4 as well.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2824035
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51121 0039d316-1c4b-4281-b951-d872f2087c98