Commit Graph

841 Commits (885d6e890fc283d03db44281fd386d85a1c046c6)
 

Author SHA1 Message Date
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
zbehan@chromium.org f6613be37a git-cl-upload-hook: improved finding depot_tools algorithm
* 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
15 years ago
gavinp@google.com 3fda4ccee3 Add explicit file rename/cp information to svn rietveld uploads
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
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 bbfc80f6b0 Add a warning when git-cl-upload-hook is modified to update git-cl accordingly.
Review URL: http://codereview.chromium.org/2806020

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50481 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 115ae6cab3 Makefiles will always contain tabs so make the notab check filter them out.
Review URL: http://codereview.chromium.org/2814017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50251 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 9979339aa7 Fix copy-paste error. I saw this exception on breakpad.
TBR=bradnelson

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50232 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
estade@chromium.org c68f9cbc20 Allow gcl help to be run from anywhere
BUG=none
TEST=manual; gcl_unittests.py

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50133 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
tfarina@chromium.org 5be07f1364 depot_tools: Update README file to point to bootstrap/gclient.sh/.bat instead of
bootstrap/update.sh

BUG=38130
TEST=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@50099 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
tedbo@google.com 71a51e8fe7 Fix git cl code to get the changelist description without using gcl.
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
15 years ago
maruel@chromium.org b1901a6e45 Look for PRESUBMIT.py beyond root if inherit-review-settings-ok is present.
Patch contributed by Darin Petkov

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49868 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 953586a1dd Make scm.py work around even more with bad interaction better svn client and google code.
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
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 b74dca2307 https:// is a svn url.
TBR=bradnelson

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49582 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 a4400f4718 Add more forced revisions in fake_repos.py and adds a recursive DEPS.
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
15 years ago
cbentzel@chromium.org 2c0b77da52 Add file name and line number to trychange's log output.
Review URL: http://codereview.chromium.org/2654004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49050 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
cbentzel@chromium.org 4d7400397b Fix gcl_unittest: shutil is not imported by gcl.py.
Review URL: http://codereview.chromium.org/2627010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49049 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 223b7191ed Fix a bug in Warn(), simplify code
TBR=bradnelson

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48961 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 524a6eda43 Significantly improve gclient_smoketest.py.
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
15 years ago
tony@chromium.org 9292041be1 Make gclient sync --force also ignore left over files when
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
15 years ago
tony@chromium.org 99828125dd Take 2 at adding --force to svn update and svn checkout.
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
15 years ago
tony@chromium.org 2151c2904b Revert r48897, --force doesn't work on svn 1.4 which is used on mac.
TBR=maruel

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48898 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
tony@chromium.org fb176482f3 When running an svn update, if --force was passed on the
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
15 years ago
maruel@chromium.org c6d170e516 Fix gcl upload with moved files without modification on Windows.
Review URL: http://codereview.chromium.org/2545001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48793 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
viettrungluu@chromium.org 0c6b52b52e Make drover not eliminate '-'s from commit messages.
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
15 years ago
maruel@chromium.org 707c1487c4 Fix the array format for the gcl diff with no change list case.
TBR=nsylvain

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48755 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
msb@chromium.org 786fb68d39 gclient_scm.py: Make working with git more reliable
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
15 years ago
maruel@chromium.org 8b599cfa42 Fix gclient_smoketest for svn 1.5 and python 2.5
Review URL: http://codereview.chromium.org/2487003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48688 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nsylvain@google.com 38729704f0 Fix broken "gcl diff cl" command. We need to use full paths, not
relative path. 

bug:45589
Review URL: http://codereview.chromium.org/2447002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48680 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 96913eb60f Fix both gclient_scm_test.py and scm_unittest.py.
Review URL: http://codereview.chromium.org/2425003

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