Commit Graph

326 Commits (b99bc3e190bc9c3d9abf95887c9b74bed3f1e384)

Author SHA1 Message Date
szager@chromium.org 71cbb503c8 Add placeholder git hooks.
This is a bit of future-proofing.  The git hooks in depot_tools/git-templates/hooks all try to forward to build/git-hooks.

Currently, the only actual hook we have is in src/build/git-hooks/pre-commit, which (usefully) makes sure no one inadvertently commits a submodule change.  If we want to add more git hooks, we can simply commit them to build/git-hooks, rather than asking everyone to modify .git/hooks in their checkout.

NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/14230012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@195336 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org 96833fa216 Support "--with_branch_heads" for unmanaged checkouts.
R=piman@chromium.org,maruel@chromium.org

Review URL: https://codereview.chromium.org/14178003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@194527 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org e409df67b0 Make sure branch-heads is configured whenever requested.
This allows the branch-heads to be pulled even if not configured on the
original clone.

Review URL: https://codereview.chromium.org/13951009

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@194382 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 08b21bfe31 Unpoison gclient checkouts by setting recurseSubmodules=false
This was causing extremely slow gclient sync's, and was preventing gclient from
outputting anything if a slow submodule needed significant updating.

R=cmp@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/13702002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@192475 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 6ede85ff7b Revert "Make gclient fetch git repos recursively. This is needed when adding a git repo through DEPS. If that repo has submodules, we need to fetch them or else the repo won't be complete."
This reverts commit 6a2e4710bf.

cmp says:
This CL causes NewGit and Git submodules workflows to comingle in ways that result in bad and unexpected failures for new and existing users.  One failure is for the new Blink developers who need to use git-svn with their WebKit third_party checkout.  Another failure is in the Windows NewGit workflow where gclient sync takes longer than necessary to complete.

The right approach at this point given the costs of this change is to revert it and rethink the best way to get projects the functionality they need while restoring the functionality existing projects have required for over a year now.

Please discuss the recursive/recurseSubmodules code face-to-face with cmp@google.com before attempting to make this live again.  Thanks.

R=cmp@chromium.org
BUG=224074


Review URL: https://chromiumcodereview.appspot.com/13470027

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@192236 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org 628522eb8d Don't replace default fetch config with branch-heads.
This causes the 'git config' to only add or update the branch-heads fetch
entry, and not replace any other existing entry (e.g. refs/heads/*).

Review URL: https://chromiumcodereview.appspot.com/12634013

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@189326 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
jam@chromium.org 6a2e4710bf Make gclient fetch git repos recursively. This is needed when adding a git repo through DEPS. If that repo has submodules, we need to fetch them or else the repo won't be complete.
Review URL: https://chromiumcodereview.appspot.com/12620024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@189026 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org 059cc45058 Separate git 'clone' and 'config' commands.
Some versions of git don't support 'clone --config'.
Review URL: https://codereview.chromium.org/12688005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@187296 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org 468ed06910 Reapply r186598 with fix for 'gclient revert'.
Review URL: https://codereview.chromium.org/12553006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186986 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
kjellander@chromium.org 9ffd050bd7 Revert 186598 ("Add option to automatically fetch git "branch-heads".")
Some SVN-only trybots get errors when running gclient revert with this
change. I assume it's because the flag is not present for the gclient
revert command, and that the code checking if options.with_branch_heads
is set is common to both revert and sync.

BUG=none
TEST=reverted locally and gclient revert worked again.

Review URL: https://chromiumcodereview.appspot.com/12616006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186967 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org 4433ad0ef2 Add option to automatically fetch git "branch-heads".
The "branch-heads" are refspecs created from upstream svn branches. This flag
is mostly needed for official builders, and adds about 1/2GB of data to the
checkout, so not currently enabling by default.
Review URL: https://codereview.chromium.org/12546017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186598 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 3830a67f5f Make safesync w/ git hash work when lkgr is ahead of clone.
R=maruel@chromium.org, szager@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/12301002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@183275 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
bauerb@chromium.org 610060ef0e Reset to correct version when switching upstream repository for a git dependency.
This avoids build errors like at http://build.chromium.org/p/tryserver.chromium/builders/linux_clang/builds/64851/steps/update/logs/stdio (search for mtpd).

BUG=none


Review URL: https://chromiumcodereview.appspot.com/11417059

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@168521 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
davidjames@chromium.org 13349e2d41 Remove more unversioned directories.
Currently, if an unversioned directory is present where we would expect
a versioned repository to be, the following error is printed:

  Can't update/checkout %s if an unversioned directory is present.
  Delete the directory and try again.

If --reset and --delete_unversioned_trees are used, gclient should delete
the unversioned directory in this case.

This problem can be reproduced using the following recipe:
  $ rm -rf src/third_party/webrtc/.svn
  $ gclient sync -nRftD

BUG=none
TEST=Verify that above error is fixed. Run all smoke tests.


Review URL: https://chromiumcodereview.appspot.com/11366239

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@167942 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
szager@chromium.org c51def3ff4 Restore previous behavior of GetSha1ForSvnRev, so unit tests pass.
Review URL: https://chromiumcodereview.appspot.com/11148019

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@161909 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@google.com 312a6a4e7a Fix safesync_url handling for git.
Takes into account the new submodule-enabled repository layout.
Review URL: https://codereview.chromium.org/11098064

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@161403 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
lliabraa@chromium.org ade83db154 Add 'git clean -f -d' to 'gclient revert' when in a git repo.
The try slaves run 'git revert' to clean up from the previous run. This only runs 'git reset --hard', which does not remove any untracked files, so if a CL adds a new file it will still be present after 'gclient revert'. Adding git clean -f -d removes untracked files (-f) and directories (-d).

Review URL: https://chromiumcodereview.appspot.com/10986032

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@159020 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org 987b06195e Set default for branch.autosetupmerge. This avoids problems with git-cl-upload
picking the wrong upstream branch.

Review URL: https://chromiumcodereview.appspot.com/10758011

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@145791 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 9206738c68 Only call IsValidRevision() when it is a git hash.
Calling IsValidRevision('refs/head/master') will always return True.

TBR=bauerb@chromium.org
BUG=134858
TEST=Tested manually with 'managed': True


Review URL: https://chromiumcodereview.appspot.com/10694022

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@144786 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bauerb@chromium.org cbd20a408f Skip updating remotes if we already have the upstream revision.
This should make a `gclient sync` faster, especially on Windows, where git hangs regularly.

BUG=none
TEST=gclient sync -v doesn't print "Fetching origin" all the time


Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=143898
Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=143911

Review URL: https://chromiumcodereview.appspot.com/10668020

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@144451 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bauerb@chromium.org 91514ab28c Revert 143898 - Skip updating remotes if we already have the upstream revision.
TBR=maruel@chromium.org

BUG=none
TEST=none


Review URL: https://chromiumcodereview.appspot.com/10663019

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143911 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bauerb@chromium.org f407f09f2f Skip updating remotes if we already have the upstream revision.
This should make a `gclient sync` faster, especially on Windows, where git hangs regularly.

BUG=none
TEST=gclient sync -v doesn't print "Fetching origin" all the time


Review URL: https://chromiumcodereview.appspot.com/10668020

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143898 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org 78f5c16451 Set config option for diff.ignoreSubmodules to 'all'
Review URL: https://chromiumcodereview.appspot.com/10636015

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143731 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org f5cc4279b0 Call UpdateSubmoduleConfig() in unmanaged mode, too.
Review URL: https://chromiumcodereview.appspot.com/10635010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143474 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org 37e4f23403 Use default value of 'all' for submodule.*.ignore.
Review URL: https://chromiumcodereview.appspot.com/10630010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143464 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org d4af662bd6 Automatically update submodule config entries on sync.
The effect of this is to preserve the behavior of `git status`,
i.e., only changes in the top-level repository will be reported.

Updated test expectations; I have no idea what I'm doing.

Review URL: https://chromiumcodereview.appspot.com/10454088

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@140396 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
haitao.feng@intel.com 306080c46d Make gclient pack work again by not prefixing "thread_id>"
into stdout and creating the GitDiffFilterer for git repository

BUG=125894
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135324 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
mukai@chromium.org 9e3e82c1b3 Check binary existence in gclient: 2nd try.
The first approach crrev.com/132446 was reverted due to
Windows build breaks. This approach is more robust because
it actually tests the binary by running the command actually.

BUG=114483
TEST=succeeded on Linux

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132783 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 2a0108ebdb Revert r132446 "Check the existence and executability of scm commands"
This completely broke syncing on Windows.

TBR=mukai@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9956149

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132451 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
mukai@chromium.org d15a8fa135 Check the existence and executability of scm commands
BUG=114483
TEST=manually

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132446 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@google.com 873e6672e1 If a subdir exists and is empty, go ahead and clone into it.
This will make it easier to support git-submodule and gclient at
the same time.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126428 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
steveblock@chromium.org 98e6945846 If both -R and -D are specified when updating, remove all untracked directories
This is required to avoid the need to clobber the bots when moving a directory 
to deps/. Currently, the directory in question is likely to remain in the 
working copy, despite having been removed, due to the presence of untracked 
files. This causes the checkout from deps/ to fail. 

With this change, when both --reset and --delete_unversioned_trees are 
specified, the the directory in question will be removed from the working copy, 
thereby allowing the copy in deps/ to be checked out correctly. 

Note that untracked directories which are explicitly ignored (ie in .gitignore 
or svn:ignore) will not be removed. 

Note that this was previously landed in http://codereview.chromium.org/9348054 
but reverted due to problems with symlinks in the chromeos build. 

BUG=112887, chromium-os:20759

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122300 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 30159da655 Revert r121986 "If both -f and -D are specified when updating, remove all untracked directories"
Caused issues with chromium.chromiumos bots.

TBR=steveblock@chromium.org
BUG=112887

TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122098 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org 2a75fdb0fc [depot_tools] Use git fetch to optimize the properly configured that use git-svn
in the way <http://code.google.com/p/chromium/wiki/UsingNewGit#Initial_checkout>
describes.

R=maruel@chromium.org
TEST=gclient sync with safesync_url is faster.
BUG=109184


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121988 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
steveblock@chromium.org 93567043f9 If both -f and -D are specified when updating, remove all untracked directories
This is required to avoid the need to clobber the bots when moving a directory
to deps/. Currently, the directory in question is likely to remain in the
working copy, despite having been removed, due to the presence of untracked
files. This causes the checkout from deps/ to fail.

With this change, when both --force and --delete_unversioned_trees are
specified, the the directory in question will be removed from the working copy,
thereby allowing the copy in deps/ to be checked out correctly.

Note that untracked directories which are explicitly ignored (ie in .gitignore
or svn:ignore) will not be removed.

BUG=112887,chromium-os:20759

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121986 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org 051c88b9c0 [depot_tools] Disabling new git checkouts with safesync_urls until fixed.
R=maruel@chromium.org
TEST=gclient sync a freshly configured client.
BUG=106015


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115452 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org e5d1e61dc3 [depot_tools] Adding safesync_url for git and git-svn checkouts.
R=maruel@chromium.org
TEST=Configure a checkout using the NewGitWorkflow with a safesync_url and everything works (though possibly with a really long git svn fetch time).
BUG=106015

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115011 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org d579fcf951 Enforces using cwd in all svn calls.
That helps weed out some issues faces with svn plus helped me figure out some
misuses.

Most of the commands have been implicitly depending on os.getcwd(). This change
makes it always consistent and clear when dependence on the current directory is
needed.

Remove default arguments to scm.SVN.GenerateDiff and a few other calls to be
sure the refactoring was done right.

R=dpranke@chromium.org
BUG=
TEST=make sure most commands aren't broke


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@114262 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
igorgatis@gmail.com 4e07567f52 Introduced git+http(s) fake URL schema to support git urls which don't have "filename.git" portion (http://foo/bar vs http://foo/bar/filename.git).
Review URL: http://codereview.chromium.org/8590024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@110937 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 8b322b3cb7 Handle cases where '.' show up in svn status and is deleted
This would cause random try job failures, especially when switching around
DEPS <-> svn directory conversion.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@108144 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6c48a304d4 Fix a concurrency issue happening with deep dependencies when the intermediary
directory doesn't exist, on fresh checkout and --jobs >1.

It happens in the case where there is 3 dependencies:
a
a/b/c/d
a/b/c/e

'a' is processed first. Then 'a/b/c/d' and 'a/b/c/e' are fired simultaneously.
If both are not present, both svn checkout tries to mkdir b and b/c and a race
condition occurs between their call for isdir() and mkdir().

This works around the issue by creating the intermediary directories ourself
before calling out svn and managing the error ourself.

TBR=dpranke@chromium.org
BUG=
TEST=fresh checkout shouldn't be flaky


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106636 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c0cc0871b4 Make revert more resilient to partial sync failure.
Improve revert to skip over non managed directory and to clobber invalid
checkouts.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105103 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 36ac239bd3 Reapply r104938 "Make svn update not prompt during a sync."
It wasn't broken. The tree collapsed around the same time for unrelated reason.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105090 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org edb6ea6ea5 Revert r104938 "Make svn update not prompt during a sync."
I'm not sure if it's causing the tree blow up but I'm not taking any chance.

TBR=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104956 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 94aa50fce3 Make svn update not prompt during a sync.
Otherwise it may hangs in various ways.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104938 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
szager@google.com 85d3e3adbc Restore 103787 (fix git progress message), and update test expectations.
Review URL: http://codereview.chromium.org/8161009

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104504 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
szager@google.com 43ea9d727b Reverting 103787
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103935 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
szager@google.com 7f61350080 http://codereview.chromium.org/8052025/
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103787 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 49fcb0cba7 Print debugging information when svn info didn't return the URL
Right now, it'd simply crash with a KeyError.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102496 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
phajdan.jr@chromium.org d558c4b36f GTTF: Make gclient recover gracefully from an interrupted checkout
when --force is used.

BUG=96775
Review URL: http://codereview.chromium.org/7942007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102324 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
cmp@chromium.org eb2756dfc4 Add a --unmanaged flag to gclient config to allow the main solution to be unmanaged by the scm.
The dependencies will continue to be managed. A new flag is present in the .gclient file to control this behavior.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102002 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
phajdan.jr@chromium.org 8a312c56e9 GTTF: Make gclient try harder when doing svn cleanup.
BUG=96775

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101771 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 87e6d33103 Update subprocess2.check_output() to behave like subprocess.check_output().
stderr is not redirected by default. stdout is not allowed.
Both were oversight.
Do not override stdin=None in case the user would response to stderr output for
example.

Increase test coverage.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100456 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 2a5b6a2aba Now that CheckCallAndFilter() throws subprocess2.CalledProcessError, use e.returncode.
deferring e.args[0] would throw an error.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100402 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org bffad37d6f Remove gclient_utils.CheckCall() from gclient_scm.py
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100185 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
bauerb@chromium.org 2aad1b262d Add --merge option to gclient sync.
BUG=none
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@93611 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nsylvain@chromium.org f7826d7495 Fix the call to "git checkout" on Windows.
The "^0" is not needed, and it confuses Windows since
the carret is a special character.
Review URL: http://codereview.chromium.org/6976050

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87636 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nsylvain@chromium.org 328c3c73a8 Workaround a git clone bug on Windows.
On Windows "git clone url path/repo" does not create 'path' if it does
not exist. It fails with:

Fatal: could not create work tree dir 'path\repo'.: No such file or directory

this patch manually creates the subdir if it does not exist.
Review URL: http://codereview.chromium.org/7080063

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87522 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nsylvain@google.com b3cec90859 Make sure paths that look like http://git_server/repo.git@SHA get checked out
correctly.  The current behavior was to call git clone with --no-checkout, which
did not create a working copy, and made the checkout unusable by the users.
Review URL: http://codereview.chromium.org/7104007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87491 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
phajdan.jr@chromium.org 6e043f755b Remove unmaintained "gclient export" command,
introduced in http://src.chromium.org/viewvc/chrome?view=rev&revision=20990

It was intended for the tarball generation script,
but there was a better and simpler way.

BUG=80549
Review URL: http://codereview.chromium.org/6883263

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83708 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
floitsch@google.com eaab784bcf Add --transitive flag.
When specifying a revision (with -r) propagates the date of the revision to its children.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83313 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 31cb48a436 First pass to transition away for gclient_utils.Error and gclient_utils.CheckedCallError.
Make sure every site that catches gclient_utils.Error also catch
subprocess2.CalledProcessError.

BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80339 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 90541738bc Wrap raw_input() around a try/except to reduce the number of false-positive in breakpad
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80182 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
thomasvl@chromium.org d6f89d862e Let the unittest avoid the upstream change.
Review URL: http://codereview.chromium.org/6696080

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79452 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
thomasvl@chromium.org 668667c0b9 Move where the check is to handle things not being checked out yet.
Review URL: http://codereview.chromium.org/6676119

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79301 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
thomasvl@chromium.org 858d645a31 Add support to check if the url has changed for a git dep and create a new clone.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6732023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79298 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 07ab60e26f Move reverting code from gclient_scm to scm to be able to reuse the code.
There is 2 changes while moving the code:
- Making externals handling an option.
- Not trapping EnvironmentError.

This code will be reused by the commit queue.

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74181 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org ce117f6193 Add --ignore-externals to svn update and svn checkout invocations.
svn:externals are slow to update and are unnecessary in a gclient environment.

TEST=none
BUG=55904

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@71604 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org cb2985fb69 Largely reduce the number of pylint warnings and fix one typo.
Most of them are style issues or variable aliasing.

TEST=Can almost enable pylint warnings
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64908 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
morrita@chromium.org 21dca0e781 Skipped syncing svn working copy which has a .hg subdirectory.
BUG=57783
TEST=none
Review URL: http://codereview.chromium.org/3601007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@61459 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 77e4ecaf59 Remove cruft from having to do bookeeping of options.stdout.
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
15 years ago
maruel@chromium.org ad80e3b96e Simplify GIT.Capture() code to always redirect stderr by default and always throw an exception on failure.
Make gclient_scm_test silent.

Replace raise Exception() with raise gclient_utils.Error().

BUG=54084
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58936 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 54019f3c98 Change scm.SVN.Capture to redirect stderr and throw an exception on call failure.
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
15 years ago
maruel@chromium.org 6985efce6e Fix small nits.
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
15 years ago
maruel@chromium.org 37e89873a4 Add options argument to _Run() to redirect output.
Add automatic 'header' on command execution

BUG=54084
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58700 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 6cafa13afb Split _Run() in two to make redirection simpler in a later change.
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
15 years ago
maruel@chromium.org 8469bf9309 Replace a few os.path.join() calls to use self.checkout_path instead.
Fix SVN pack.

TEST=smoke tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58519 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
cbentzel@chromium.org 2aee2298dd gclient: exponential backoff of SCM commands on known failure types.
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
15 years ago
maruel@chromium.org f5d37bf92e Convert all print statements to use options.stdout.
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
15 years ago
maruel@chromium.org 669600d394 Remove scm.SVN.Run() and all stdout argument to more calls.
BUG=54084
TEST=unit tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58214 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 17d01795a6 Cleanup the code in gclient_utils to standardize on CheckCall nomenclature.
Simplify code by removing fail_status
Rename print_messages to always
Simplify the doc.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58201 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 2b9aa8e0b3 Refactor SubprocessCallAndFilter() to remove positional arguments.
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
15 years ago
maruel@chromium.org 559c3f89b6 Add stdout param to SubprocessCallAndFilter().
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
15 years ago
maruel@chromium.org 3a292688b6 Redo of r56893 with fix to support python 2.5.
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
15 years ago
maruel@chromium.org ad0b13da3d Revert "Remove code duplication and improve style."
This reverts commit 850ee065dd.

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56894 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 850ee065dd 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/3126020

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56893 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
kbr@chromium.org 802933db6c Added -x --ignore-eol-style arguments when running svn diff for
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
15 years ago
maruel@chromium.org 3294f52e76 Make --reset more powerful for svn checkouts
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
15 years ago
maruel@chromium.org 945405e8b4 Add flushing to gclient revert.
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
15 years ago
maruel@chromium.org 8e0e926332 Improve -m to be more efficient, only lookup the current rev if it is pinned.
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
15 years ago
maruel@chromium.org 0380707ce2 Remove 'options' usage from scm.py
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
15 years ago
maruel@chromium.org 86f0f95e37 Ignore unversioned files when switching a repository.
Review URL: http://codereview.chromium.org/3132004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55573 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org e407c9ae28 Add code to automatically svn cleanup during svn update.
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
15 years ago
msb@chromium.org 4a3bc28256 Revert "gclient: fetch only what's needed"
This reverts commit bca61a9de79d5a86454edecae5b00e581e9e6783.

This commit was broken

BUG=none
TEST=gclient sync actually updates

TBR=maruel

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53112 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org 42ba8628d8 gclient: fetch only what's needed
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
15 years ago
derat@chromium.org f3b6d25226 gclient: Revert r52941's changes to gclient_scm.py.
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
15 years ago
msb@chromium.org 238c918a40 gclient: fetch only what's needed
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
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 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 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
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
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
scherkus@chromium.org 95f0f4eb86 Strip the subversion revision when passing it as an argument to --revision.
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
15 years ago
maruel@chromium.org 4d9da40423 When branch is not correctly set, it would throw an exception.
Review URL: http://codereview.chromium.org/2087015

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@47678 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 982984e163 Fix missing variable name in exception handler.
TEST=should stop throwing an exception when retrying for git checkouts
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@46960 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nasser@codeaurora.org b2b4631780 Make gclient.git.revert reset to DEPS revision
BUG=http://crosbug.com/2897

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

Change-Id: I1398a349f1af728b593f0d4ea877831f25aed1f4

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@46113 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org fd87617b28 Standardize automatic retry and add a 15 seconds sleep to increase the chances of success
Review URL: http://codereview.chromium.org/1812001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@46067 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 81e012ce41 Modify scm.GIT.GetUpstreamBranch to behave like git-cl.
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
15 years ago
tony@chromium.org 5756466130 Fix File() to work with SVN 1.4 by using svn export in place
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
15 years ago
tony@chromium.org 4b5b1779fb Add the ability to check out a single file from a repo.
The syntax is:
deps {
  'path': File('http://svn..../path/file@42')
}

This will checkout a single file and use scm.update to
keep it up to date.

See https://bugs.webkit.org/show_bug.cgi?id=36578#c7 for a
description of why I want to add this.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@43911 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nasser@codeaurora.org 5d63eb8382 revinfo: Properly use git HEAD or svn BASE revisions
BUG=http://crosbug.com/1658

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@42555 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nasser@codeaurora.org 7080e94277 Fix @hash in DEPS file
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
15 years ago
maruel@chromium.org 55e724e8fe Stop SVNWrapper and GitWrapper from inheriting from scm.SVN and scm.GIT.
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
15 years ago
maruel@chromium.org d0f854af68 Extract git version check code from gclient_scm.py into scm.py where it belongs.
Review URL: http://codereview.chromium.org/878001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@41308 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nasser@codeaurora.org 3b29de12a8 Ensure --revision is used when specified
BUG=http://crosbug.com/1669

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@40911 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 0b1c246cd7 Add automatic retry on "git remote update".
It does remote connection and can get HTTP 502 when used over http.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@40330 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nasser@codeaurora.org ece406f5b9 Require git version 1.6.6
Review URL: http://codereview.chromium.org/652125

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@39741 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
nasser@codeaurora.org d90ba3f136 sync @branchname git support
Also improve GIT.update error handling and verbosity levels

TEST=unit tests
BUG=http://crosbug.com/480
BUG=http://crosbug.com/1136

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@39717 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
davemoore@chromium.org 793796dcc6 Add gcl-reset option.
Review URL: http://codereview.chromium.org/647063

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@39457 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 2de10250a2 Add automatic retry on HTTP 502 for svn and connection drop for git.
TEST=totally untested
BUG=34793

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@38336 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org d8a637875f Make gclient cleanup a no-op for git
Patch-contributed-by: Nasser Grainawi <nasser@codeaurora.org>

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37021 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org eafef3b33e Use --force to reset a git repo before attempting to rebase during gclient sync/update
Patch Contributed By: Nasser Grainawi <nasser@codeaurora.org>

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37020 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org 3904caa959 Always list the args in the same order
Patch-contributed-by: Nasser Grainawi <nasser@codeaurora.org>

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37016 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org e4af1ab4cf gclient: Add better error reporting when path is not a git repo.
Review URL: http://codereview.chromium.org/505007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@36172 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org d6504218f2 Update docs for git usage
chromium-os BUG=1189

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@36129 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org e6f78352a7 gclient: git relative url implementation
Redo relative url implementation per maruel's comments here:
http://codereview.chromium.org/500015

Instead of adding an option, implement relative urls differently for
git urls.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@36126 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org d2e78ff631 Allow gclient revert to remove symlinks
Previously links weren't caught at the appropriate point and instead passed to RemoveDirectory which then rejected them because they were links.

Patch contributed by Nasser <nasser@codeaurora>

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@35936 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org f3909bf2d3 Check for the existence of git before running commands.
Checks in the gclient wrapper and when running any gclient git command.

TEST=none
BUG=none

Patch contributed by Nasser <nasser@codeaurora>

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@35762 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org ee4071d443 Add gclient_scm.GitWrapper.pack()
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@35177 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org c532e17e1b gclient: implement a less hacky relative URL implementation
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
15 years ago
msb@chromium.org 5bde485307 gclient: Add better error reporting and handling when there is a rebase conflict
When a rebase generates a conflict, report an error and exit immediately.
If in an existing conflict (no branch), report an error and exit immediately.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@34459 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org ba9b239c41 gclient: Don't change directories when checking git version.
Review URL: http://codereview.chromium.org/495003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@34392 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org 83376f2f5a gclient: fix git version check to handle 1.6.5.2.5.g7c3ba.dirty
Review URL: http://codereview.chromium.org/486036

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@34386 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org 923a0373c8 gclient: Add a minimum git version check.
Review URL: http://codereview.chromium.org/490021

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@34377 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org ffe96f07a9 Fix default cwd value and the timing of the result code check
Review URL: http://codereview.chromium.org/474002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@34166 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org f237063dce gclient: handle case for upstream has rebased
gclient sync will potentially fail if the upstream git tree has been rebased.
This CL fixes this by using rebase --onto to only rebase our local changes.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@33011 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
msb@chromium.org 1b8779ae3f gclient: Fix bug where urls with revisions are not parsed correctly.
Review URL: http://codereview.chromium.org/402084

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32521 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org 161d548e28 gclient: fix regression in revision handling code in GitWrapper::update
Review URL: http://codereview.chromium.org/399040

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32200 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 5aeb7dd54c Reapply 32057, 32058, 32059, 32062 and fixes problems introduced by these changes.
Noteworthy change is scm.SVN.GetFileProperty calls Capture instead of Run.

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32181 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 261eeb5e93 Revert 32057, 32058, 32059, 32062 because they still have unwanted side-effects.
Revert "Group SCM-specific functions in classes to simplify generalization of the interface."
Revert "Fix 2 recently introduced errors."
Revert "Fix a variable aliasing error."
Revert "Fix typo."

TBR=dpranke
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32065 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 85a3192f9c Group SCM-specific functions in classes to simplify generalization of the interface.
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
16 years ago
msb@chromium.org ac915bb6af gclient: fix another bug where ssh urls weren't parsed correctly
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
16 years ago
maruel@chromium.org d5800f1996 Split scm-specific functions out of gclient_scm.py to scm.py.
Reapplies r31809 is typo fixed.

TEST=unit tests fixed and reclassified
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31812 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 0563d6c747 Revert "Split scm-specific functions out of gclient_scm.py to scm.py."
This reverts commit 7489404c56dcc725c7c13214f410b2d375a6630a.

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31810 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 8ce0a13a85 Split scm-specific functions out of gclient_scm.py to scm.py.
TEST=unit tests fixed and reclassified
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31809 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org e3608dfc1a Run pychecker over most scripts in depot_tools. Catched a few bugs.
TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31590 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org 7780c28b92 gclient: fix bug where ssh urls with a username weren't parse correctly
ssh://test@example.org/test.git was not parsed correctly because we
would split at the '@' assuming what followed was a revision.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31444 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org b1a22bfe7a gclient: make sync more verbose on git
Requirement for build system.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31362 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org 0f282063d9 gclient: Make revinfo work on git.
* 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
16 years ago
msb@chromium.org e8e60e5810 gclient: make git path more verbose
Review URL: http://codereview.chromium.org/353001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@30752 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org 260c65333a Add directory check to Git revert.
Review URL: http://codereview.chromium.org/339037

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@30317 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
dpranke@google.com 22e29d4ec5 Make 'gclient update' and 'gclient status' quieter by default - they don't
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
16 years ago
maruel@chromium.org 7753d24625 Revert "Un-revert the reverted 28058, so that we get quiet again."
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
16 years ago
dpranke@google.com 2a6e20ca4a Un-revert the reverted 28058, so that we get quiet again.
BUG=none
  R=maruel
  TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28185 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
chase@chromium.org 8e416c83a8 Git support in presubmit tests.
Expand presubmit_support and gclient_scm to support
getting basic status and changed files from a Git
checkout.

BUG=5339
TEST=presubmit_support.py works from a git checkout,
gcl presubmit works from a svn checkout
Review URL: http://codereview.chromium.org/242140

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28092 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 810a50b16b Fix a specific failure when reverting embedded directories.
TEST=gclient revert doesn't throw an exception
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28059 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 9344e97ada Revert "Modify the output of gclient update, gclient status to only print out"
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
16 years ago
dpranke@google.com 1a77f1dc15 Modify the output of gclient update, gclient status to only print out
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
16 years ago
msb@chromium.org e28e498655 gclient_scm: add support for .git
gclient_tests: add GitWrapper test cases

gclient_scm: make RunGit private and add url check

gclient_scm: add revert, run_hooks, and status

gclient_scm: add git implementations of cleanup, diff, and export

gclient_scm: implment GitSCM::update

gclient_scm: add a checks for unsupported scm and unimplemented method

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@27241 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org 95f8454d6a gclient_scm: fix one more case where revision stores an int
Review URL: http://codereview.chromium.org/218016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@27077 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 2e0c685cfd Fix gclient breakage cause by r26940.
Current checkout revision was ignored so it was always acting like if --force was used.
This was overloading the subversion server, creating timeouts, causing a cascading effect that destroyed the tree.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@27027 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org 770ff9ee21 gclient: store revision as a string and not int
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
16 years ago
maruel@chromium.org e2ce0c75c3 Print nice error in url error.
TEST=none
BUG=http://code.google.com/p/gclient/issues/detail?id=12

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26931 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org cb5442bf76 gclient_scm: add test for unsupported scm
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
16 years ago
maruel@chromium.org aa3dd476c4 Use svn update --revision BASE instead of svn revert.
svn revert is broken in too many ways to work around it. I just discovered --revision BASE and it does everything I need.

BUG=none
TEST=gclient revert ignores externals, work with switched directories, work with files with inconsistent line endings (sigh)

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26707 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 754960e99b Fix gclient revert for external, switched and conflicted directories.
TEST=gclient revert more stuff but stops reverting external directories
BUG=none

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


git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26672 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 5e73b0cfa1 Revert "Use a factory method to abstract SCMWrapper creation." totally broke gclient.
TBR=msb
TEST=none
BUG=none

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


git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26606 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
msb@chromium.org 56237087e9 Use a factory method to abstract SCMWrapper creation.
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
16 years ago
maruel@chromium.org de754ac6ad Fix a coding error that was introduced in 26423.
"file_list = file_list or []" would create a new empty list when an empty list is passed as a parameter, ditching the output parameter.

TEST=hooks are now run on gclient sync
BUG=none

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


git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26461 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
bradnelson@google.com df7aea45bd Fixing issue in which for large patches, files fail to revert.
Flaw in loop logic, causes it to miss the occasional file.

BUG=None
TEST=None
TBR=maruel

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26427 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
bradnelson@google.com 8f9c69f5b0 Fixing errors in gclient on a gclient revert --nohooks on windows.
BUG=None
TEST=None
TBR=maruel

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26425 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 5f3eee3bab gclient: remove wildcard import from git_scm
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
16 years ago