Commit Graph

57 Commits (27e6f9b90775b9e60d4b3cd10d9b649b2620f206)

Author SHA1 Message Date
thestig@chromium.org 44202a28e9 Implement git cl lint.
Review URL: https://codereview.chromium.org/134223010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256289 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thestig@chromium.org 7a54e8183a git_cl: Do not cache the relative root in Settings.
Relative root no longer makes sense after an os.chdir().
This is effectively a partial revert of r250248.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250478 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thestig@chromium.org 8b0553c1f9 Cleanup: Merge a bunch of redundent env['GIT_PAGER'] = 'cat' statements.
Additionally:
- replace some RunCommand(['git', ...]) calls with RunGit().
- replace Settings._GetConfig('rietveld.foo') _GetRietveldConfig('foo').
- merge and cache calls to git rev-parse --show-cdup.
- merge some calls to git merge-base.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250248 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
rmistry@google.com 907525863f Add support for BUG_PREFIX in codereview.settings.
This change will allow projects other than chromium to specify 'BUG_PREFIX: project_name:' in their codereview.settings file.
Currently, the change is created with 'BUG=', entering a project's bug number there will point it to chromium's issue tracker. Adding a project specific prefix will make the links point to the project's issue tracker without the developer having to know about the magic prefix.

BUG=skia:1983

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@244801 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
jochen@chromium.org 3ec0d54fd7 Indiciate the tree status in the rietveld message when bypassing hooks
BUG=none
R=iannucci@chromium.org,maruel@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@244793 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
pgervais@chromium.org 87884cc015 Added --(de)activate-update options
These options have been added to the 'git cl config' subcommand.
--deactivate-update tells git cl not to update the values inside
.git/config from the codereview.settings file. --activate-update does
the opposite.

This is designed for testing/development purposes only, for example, to
be able to change the rietveld URL.

BUG=327901

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@242943 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
ukai@chromium.org 7044efcc7b GERRIT_PORT is no longer used in git_cl.py
BUG=maruel@chromium.org,szager@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@237657 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
ukai@chromium.org 712d6105b3 Download commit-msg from gerrit-review.googlesource.com
Tell download tools/hooks/commit-msg mannually if it looks broken.

chrome-internal-reviews.googlesource.com requires
authentication to access tools/hooks/commit-msg, and
we'll get Google Sign-in page rather than expected shell script.

R=szager@chromium.org,maruel@chromium.org,ilevy@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@237454 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
tyoshino@chromium.org 99918abbe7 Ignore CC_LIST when private flag is specified.
This prevents private CLs to be automatically CC-ed to public mailing lists
unintentionally.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@225925 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
agable@chromium.org 42c2079a1e Fix R= line rewriter to handle TBRs well.
R=maruel@chromium.org, thakis@chromium.org
BUG=253589

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@222801 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
bratell@opera.com 82b91cd1a8 Replace --no-pager with GIT_PAGER=cat
--no-pager looks ugly in logs and output and makes commands harder to
read. Setting an environment variable is better.

This is a followup to https://chromiumcodereview.appspot.com/14104005/
which added --no-pager.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210503 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mcgrathr@chromium.org 9249f64cf4 Pass --no-renames to git diff
If ~/.gitconfig contains:
	[diff]
		renames = "true"
then git diff --name-status will produce output that confuses the parsing
in svm.GIT.CaptureStatus and git diff will produce output that confuses the
patch command on trybots.  Passing --no-renames explicitly counteracts this.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203778 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
alancutter@chromium.org bd1073ebe6 Change to 72 column reference in git cl upload message
76 columns is fine for most patches but reverts will eat another
4 spaces in indentation. For the sake of revert clarity this reference
line is reduced to 72 columns.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203530 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
alancutter@chromium.org 63a4d7fce1 Add 76 column reference in git cl upload message
Adds an extra line to the default text description to help judge whether the
76 character recommended limit is being passed.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203314 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
tyoshino@chromium.org c1737d0609 Add --private option to git_cl.py
TEST=tests/git_cl_test.py

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@202865 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 2e23ce3ecb Add colors to git cl comments.
Helps scanning faster. colorma is already slightly used by gclient but wasn't
by git-cl yet.

Update a unit test to be stricter, it was caught in the cross fire as colorma
hooks sys.stdout and stderr.

R=iannucci@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198689 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
jbroman@chromium.org 615a262dcb Make git-cl more accurately imitate git's editor selection process, and respect $VISUAL.
It is somewhat surprising when git-cl, which acts as a git subcommand, launches
a different editor. In particular, git has a config option (core.editor) which
specifies the editor that should be used. Since we already respect $GIT_EDITOR,
it makes sense for git-cl to respect core.editor and $VISUAL as well.

R=maruel@chromium.org
BUG=237504

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198101 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
bratell@opera.com f267b0e55c Fix 236148: Avoid triggering a pager in internal git commands.
BUG=236148

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@197872 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org e52678e0ed Update the R= line with the actual list of reviewers that approved the CL.
This makes the commit logs much more useful for a build sheriff. Not only he
sees who committed the CL but see who approved it directly at the log. This
should help build sheriffs when they fail to contact the author and want to
fallback on the reviewer for quick questions.

R=dpranke@chromium.org
BUG=76730

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@196786 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org c6f60e8906 Fix R= line handling when there is no value and improve presubmit TAG line regex
Make it more consistent across the tool. Using \s also includes \n, which
confuses the tool.

Add more tests.

R=iannucci@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@195214 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
janx@chromium.org 104b2db2a0 Add missing word "be" in CL description comments
s/This will displayed/This will be displayed/g

BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@194907 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
zimmerle@gmail.com 3cdcf56c58 Ensures that local git config is used while checking if it is a Git-svn repo.
If no `--local` option is passed to git config command line tool, it will relies
on the local repository and then to the user configuration ($HOME/.gitconfig).
In case the user has - for some reason - a svn repository configured in this
user configuration, the checking: `git config --get-regexp ^svn-remote\.` will
accuse that there is svn repo and so the `git cl tool`. This patch just add
the option `--local` to the git config command line tool, avoiding this
situation.

R=maruel@chromium.org,dpranke@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@193987 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 78936cbc80 Switch ChangeDescription usage to be stricter.
Include all the preparatory work to eventually update the R= line to match the
actual reviewers.

The goal here is that ChangeDescription becomes the official implementation for
handling and modifying commit messages accross git-cl, gcl and the commit queue.

This change does slightly tweak the spacing between the hot lines.
It is done on purpose to make them consistent.

R=dpranke@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@193514 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
rogerta@chromium.org caa1655dd6 Save the GIT hash of HEAD when uploading to rietveld.
Review URL: https://chromiumcodereview.appspot.com/12811006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@188807 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
sbc@chromium.org 5e07e0608c git cl upload now diffs HEAD rather than working tree
BUG=179131
TEST=./tests/git_cl_test.py


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@185366 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ukai@chromium.org 8ef7ab251c Don't call settings.GetIsGerrit() before parser.parse_args()
settings.GetIsGerrit() would invoke logging.basicConfig() and
preemtps the basicConfig for verbose option in parser.parse_args.

R=maruel@chromium.org,ilevy@chromium.org
BUG=162600

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169843 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 4bac4b5517 Create CachingRietveld to automatically cache results for presubmit checks.
Multiple presubmit checks may call the same function multiple times, so it's
worth caching the results to speed up the presubmit check run.

Convert presubmit_support, git-cl and gcl to use it.

R=dpranke@chromium.org
BUG=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169726 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org 0f58fa88ef git_cl sanity checks
Added checks:
- Block upload of a diff from sha not in current branch
  (this includes tracking against an unrebased local master)
- Block upload of a diff containing shas from origin/master
  (should never happen)

- Use explicit calls to git merge-base instead of calling git diff
   with "<branch>..." which implicitly uses merge-base.

BUG=157503

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@165887 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 259e46891c git-cl: show dirty files if any
R=chase@chromium.org,szager@chromium.org,maruel@chromium.org
BUG=157398
Review URL: https://codereview.chromium.org/11262004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@164026 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org aebe87f424 Add gerrit Change-Id to commit messages if they do not have one.
BUG=156729


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163366 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
iannucci@chromium.org 7954005862 Allow users of git cl to disable git copy detection entirely.
Depends on rietveld cl: https://codereview.appspot.com/6726050/
BUG=155511

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163092 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
iannucci@chromium.org 53937ba767 Add option to specify similarity level for git diff operations on commandline
BUG=125983

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@159732 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
iannucci@chromium.org 1512ab681a Fix git_cl diffstat to use -l100000 to match upload.py
Enables git to correctly detect copies and renames simultaneously.

BUG=144408


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@155899 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
joshua.lock@intel.com 426f69b485 Remove the use of urllib for SSL connections
Using urllib for SSL connections when behind a proxy is known to be
broken.

Upstream has fixed this in urllib2 in Python 2.6.3 and newer so
replace uses of urllib for SSL connections with urllib2 methods.

R=maruel@chromium.org
BUG=134165
TEST=gclient sync behind corporate proxy. Submitting this CL with git_cl.


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@149742 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
jamesr@chromium.org 35d1a84d76 Remove autogeneration of TEST= and automated check
Review URL: https://chromiumcodereview.appspot.com/10827059

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@148672 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 49e3d807fd Fix stats output to be always the same and coherent with what is committed.
git cl dcommit statistics were not using --find-copies-harder, scaring the user
off.

R=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@147343 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org e84b7541ce Add test for git-svn with submodule/merge layout.
Review URL: https://chromiumcodereview.appspot.com/10543151

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@142479 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org 9bb85e2d87 Add support for new repo topology, with submodule-specific merge commits
on origin/master.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@141958 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
cmp@chromium.org 5cf7022b80 Turn on git diff copy detection for git-cl upload.
Enable copy detection for git-cl upload.  This makes
it possible to copy a directory containing many files,
add+commit the new path, and then upload a patch to
Rietveld that shows the files were copied.

In my tests, -C -C was needed to pick up a basic
file copy.  -C was not enough.  I'm not sure why
exactly.  The output generated in the diff looks
like:

  sh$ git diff -C -C HEAD~1..HEAD
  diff --git a/slave/Makefile b/slave2/Makefile
  similarity index 100%
  copy from slave/Makefile
  copy to slave2/Makefile
  ...

(This change requires r141676 /
https://chromiumcodereview.appspot.com/10543116/ which
updates upload.py to use --find-copies-harder.)

R=maruel@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@141689 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
cmp@chromium.org db9b0e3a04 Revert "Turn on git diff copy detection for git-cl upload."
This reverts commit db5a0def78.

TBR=maruel@chromium.org


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@140808 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
cmp@chromium.org db5a0def78 Turn on git diff copy detection for git-cl upload.
Enable copy detection for git-cl upload.  This makes
it possible to copy a directory containing many files,
add+commit the new path, and then upload a patch to
Rietveld that shows the files were copied.

In my tests, -C -C was needed to pick up a basic
file copy.  -C was not enough.  I'm not sure why
exactly.  The output generated in the diff looks
like:

  sh$ git diff -C -C HEAD~1..HEAD
  diff --git a/slave/Makefile b/slave2/Makefile
  similarity index 100%
  copy from slave/Makefile
  copy to slave2/Makefile
  ...

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@140314 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 373af80c9e Revert r138874 "Automatically adds quotes on Windows when necessary"
This breaks _some_ msysgit uses cases. I'll investigate later.

TBR=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@139114 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 9165550283 Fix git_cl_test.py on Windows
R=maruel@chromium.org
BUG=none
TEST=python.exe git_cl_test.py

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@138964 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ca2b8e764e Automatically adds quotes on Windows when necessary
So that a command like
 "git config rietveld.viewvc-url http://src.chromium.org/viewvc/chrome?view=rev&revision="
works fine.

Fix the description automatically generated for the hooks to be using the same
code than for the one presented to the user.

R=cmp@chromium.org
BUG=
TEST=Tested manually on cygwin, win32, linux


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@138874 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
kalmard@homejinni.com 6b0051e7c6 Allow overriding base-url in git-cl.
This is useful if git-cl has no way to find out the original svn repo's url
and the user does not wish to configure git-svn and fetch the repository.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@130372 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 71e12a9e41 Update upload.py @ fae51921ad9d
This version of upload.py is slightly less annoying, it won't cancel out if no
patchset title is provided and disable colors all the time.

R=cmp@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121826 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 78c4b98fc3 Download hooks only in "git cl config"
also, use http download instead of scp,
because scp won't work well on Windows.

BUG=chromium:113153
Review URL: https://chromiumcodereview.appspot.com/9369023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121820 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
evan@chromium.org 0af9b70a02 git-cl: split GetRietveldServer from GetIssue
Should be no functional change.
Necessary for a follow-up change I'm making.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121590 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
evan@chromium.org 5b5d043a5a git_cl: drop migration code
Everyone at this point should have been migrated to the new format.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121509 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 19bbfa2db2 Fix receive-pack
If we quote as --receive-pack="git receive-pack --reviewer=foo@example.com",
git will try to run "git receive-pack --reviewer=foo@example.com" command
and failed like this

Gerrit Code Review: git receive-pack --reviewer=foo@example.com: not found
fatal: The remote end hung up unexpectedly
Command "git push --receive-pack="git receive-pack --reviewer=foo@example.com" origin HEAD:refs/for/master" failed.

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

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