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
The git_cl_hooks.py was failing to get the changelist description.
It was using gcl to get the description but this was failing
because gcl was unable to get the cached copy of
codereview.settings (because it was never set up). In this
case, gcl reverts to the default dictionary which may be
incorrect in some cases.
This changes to use 'git cl status --field=desc', which
is aware of the codereview.settings.
Review URL: http://codereview.chromium.org/2832006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49878 0039d316-1c4b-4281-b951-d872f2087c98
The novel addition here is to not convert a checkout into an update when no
files were checked out. Also delete the directory to increase the chances of
success.
TEST=wait for google code to fail again
BUG=32783
Review URL: http://codereview.chromium.org/2858003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49788 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
The recursive DEPS is to be used with From() testing.
Didn't enable From() yet since it broke tests and to simplify this change.
Review URL: http://codereview.chromium.org/2699005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49427 0039d316-1c4b-4281-b951-d872f2087c98
Add a lot of checking for stdout and fix one mis-assumption.
Make the code much more compact.
Make the git_hashes 'revisions' 1-based for consistency.
Review URL: http://codereview.chromium.org/2594001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48925 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
BUG=none
TEST=drover still works as before, but hyphens are no longer eliminated from commit messages
Review URL: http://codereview.chromium.org/2488004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48771 0039d316-1c4b-4281-b951-d872f2087c98