This fix is created to avoid having to rebuild all the WebRTC
Git mirrors since they're configured to sync with the http URL
instead of https (resulting in git-svn-id Git footers with the
http URL in the commit messages). Without rewriting this, it is
not possible to commit to SVN since Google code disallows committing
to a http URL.
BUG=412012
TEST=Created a CL using a Git repo like this (both before and after landing https://webrtc-codereview.appspot.com/32569004):
git clone https://chromium.googlesource.com/external/webrtc.git
cd webrtc
git auto-svn
git checkout master
git checkout -b test
(edit whitespace change)
git commit -am "Whitespace edit
git cl upload --bypass-hooks"
git cl dcommit
R=agable@chromium.org, machenbach@chromium.org, mmoss@chromium.org
Review URL: https://codereview.chromium.org/760903004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293171 0039d316-1c4b-4281-b951-d872f2087c98
and a link to it.
BUG=
Review URL: https://codereview.chromium.org/731473002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292940 0039d316-1c4b-4281-b951-d872f2087c98
The "comments" command is taught to:
- accept an arbitrary review issue id;
- post comments on the current or specified review issue.
This is required for the auto-rebaseline bot to notify a
rebaseline requestor of the fact that the rebaseline has happened
by means of posting a comment to the review issue that requested
the rebaseline, as suggested by iannucci@.
R=iannucci, szager, dpranke
Review URL: https://codereview.chromium.org/693873002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292844 0039d316-1c4b-4281-b951-d872f2087c98
The base url was previously being generated as
URL@BRANCH. I'm not sure if this works anywhere
but it certainly doesn't on googlesource.com.
Here we want URL/+/BRANCH.
R=iannucci@chromium.org, sergeyberezin@chromium.org
Review URL: https://codereview.chromium.org/652193004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292493 0039d316-1c4b-4281-b951-d872f2087c98
This concerns the "committed" message posted to Rietveld. Prior to
34504a15bb, this used the committer's own core.abbrev. Now it's using
a hard-coded 7. Per recent discussions on chromium-dev, 7 is
insufficient to uniquely identify commits in large repositories such as
ours. If any abbreviation is to be done, a 12-digit minimum should be
used, but there's no reason not to use the entire hash.
Review URL: https://codereview.chromium.org/592293002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292164 0039d316-1c4b-4281-b951-d872f2087c98
Pulls the logic for computing an issue's "status" - has LGTM, is in
CQ, etc. - out of the "git cl status" command itself, so that other
tools can get the status of a Changelist.
BUG=379849
R=iannucci@chromium.org
Review URL: https://codereview.chromium.org/555973005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291928 0039d316-1c4b-4281-b951-d872f2087c98
This was done because a line ending with a '\' will not be printed properly.
Completely escape the string.
R=stip@chromium.org
BUG=
Review URL: https://codereview.chromium.org/557143002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291906 0039d316-1c4b-4281-b951-d872f2087c98
Because everyone needs humour.
Fix a small bug in subcommands.py with undocumented commands.
R=stip@chromium.org
BUG=
Review URL: https://codereview.chromium.org/554123003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291867 0039d316-1c4b-4281-b951-d872f2087c98
For me, PATH was a unicode instead of a str for some reason, so things
failed with
D:\src\chromefetch\src>git cl format
Traceback (most recent call last):
File "d:\src\depot_tools\git_cl.py", line 2821, in <module>
sys.exit(main(sys.argv[1:]))
File "d:\src\depot_tools\git_cl.py", line 2807, in main
return dispatcher.execute(OptionParser(), argv)
File "d:\src\depot_tools\subcommand.py", line 245, in execute
return command(parser, args[1:])
File "d:\src\depot_tools\git_cl.py", line 2768, in CMDformat
stdout = RunCommand(cmd, stdin=diff_output, cwd=top_dir, env=env)
File "d:\src\depot_tools\git_cl.py", line 81, in RunCommand
return subprocess2.check_output(args, shell=False, **kwargs)
File "d:\src\depot_tools\subprocess2.py", line 515, in check_output
return check_call_out(args, stdout=PIPE, **kwargs)[0]
File "d:\src\depot_tools\subprocess2.py", line 475, in check_call_out
out, returncode = communicate(args, **kwargs)
File "d:\src\depot_tools\subprocess2.py", line 449, in communicate
proc = Popen(args, **kwargs)
File "d:\src\depot_tools\subprocess2.py", line 237, in __init__
super(Popen, self).__init__(args, **kwargs)
File "d:\src\depot_tools\python276_bin\lib\subprocess.py", line 709, in __init__
errread, errwrite)
File "d:\src\depot_tools\python276_bin\lib\subprocess.py", line 957, in _execute_child
startupinfo)
TypeError: environment can only contain strings
Sending crash report ...
args: ['d:\\src\\depot_tools\\git_cl.py', 'format']
cwd: D:\src\chromefetch\src
exception: environment can only contain strings
host: THAKIS1-W.ad.corp.google.com
stack: File "d:\src\depot_tools\git_cl.py", line 2821,
user: thakis
version: 2.7.6 (default, Nov 10 2013, 19:24:18)
This fixes the glitch.
Review URL: https://codereview.chromium.org/545333002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291825 0039d316-1c4b-4281-b951-d872f2087c98
Also reduce number of attempts and give up right away on ACL errors.
R=iannucci@chromium.org
BUG=407369,407470
Review URL: https://codereview.chromium.org/512493002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291656 0039d316-1c4b-4281-b951-d872f2087c98
This updates various assumptions to coincide with how gclient fetches
branch-heads refs from chromium repos.
R=iannucci@google.com
BUG=406858
Review URL: https://codereview.chromium.org/498013002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291586 0039d316-1c4b-4281-b951-d872f2087c98
This is broken for a few reasons (see bug for details). Also, this works automatically now with the analyze step.
This is a revert of r280039.
BUG=406238
R=iannucci@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/501503002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291526 0039d316-1c4b-4281-b951-d872f2087c98
Some options have words separated by underscores. Added options with
same name and underscores replaced by hyphens.
BUG=400953
Review URL: https://codereview.chromium.org/436963005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@288366 0039d316-1c4b-4281-b951-d872f2087c98
When using `git cl land` this would result in r<hash>, which is not desirable.
R=maruel@chromium.org
Review URL: https://codereview.chromium.org/432023003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@286931 0039d316-1c4b-4281-b951-d872f2087c98
This also fixes the confusing help message that appears when using “git
cl dcommit” in a git project. “git cl push” was totally removed in
abbaa843f4.
Review URL: https://codereview.chromium.org/437593002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@286835 0039d316-1c4b-4281-b951-d872f2087c98
This causes a network I/O, which is not fast. Also this is a non-starter in the
case of no network connectivity, causing a crash instead of completing
successfully. Until Air Canada provides on-flight internet, this is a
non-starter. #firstworldproblem.
Also fix git cl presubmit in case of lack of network connectivity.
R=stip@chromium.org
BUG=
Review URL: https://codereview.chromium.org/418293004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@285911 0039d316-1c4b-4281-b951-d872f2087c98
The user message says the subcommand will stop working on July 1.
BUG=
Review URL: https://codereview.chromium.org/396233002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@285586 0039d316-1c4b-4281-b951-d872f2087c98
It serves no purpose, and it's annoying when the presubmit checks take more than
2-3 seconds because I always switch off to another window, so I come back
minutes later seeing this prompt waiting for me.
R=stip@chromium.org
BUG=
Review URL: https://codereview.chromium.org/407413002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@285071 0039d316-1c4b-4281-b951-d872f2087c98
Reason for revert:
Breaks WebRTC (and possibly other projects actually using https:// for svn access).
Original issue's description:
> Allow git cl also in repos with read-only git-svn.
>
> If you have read-only git-svn git cl would still try
> to use svn commands, which would then fail. This
> changes git cl to only use git-svn if the remote
> svn repository use the svn:// protocol. It matches
> how chromium works and it allowed me to upload a patch.
>
> BUG=391430
>
> R=iannucci
>
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=281500TBR=iannucci@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=391430
Review URL: https://codereview.chromium.org/375553002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281513 0039d316-1c4b-4281-b951-d872f2087c98
If you have read-only git-svn git cl would still try
to use svn commands, which would then fail. This
changes git cl to only use git-svn if the remote
svn repository use the svn:// protocol. It matches
how chromium works and it allowed me to upload a patch.
BUG=391430
R=iannucci
Review URL: https://codereview.chromium.org/344013005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281500 0039d316-1c4b-4281-b951-d872f2087c98
This makes it possible to effectively re-route the stdout by
re-assigning sys.stdout.
BUG=
Review URL: https://codereview.chromium.org/303223005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@273595 0039d316-1c4b-4281-b951-d872f2087c98
Reason for revert:
CQ rejects all chromium projects because of this change.
Original issue's description:
> use canonical base URL for projects
>
> BUG=372645
> R=iannucci@chromium.org, sergeyberezin@chromium.org
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=270460
TBR=iannucci@chromium.org,sergeyberezin@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=372645
Review URL: https://codereview.chromium.org/287063002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270803 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise, the old merge-base value can confuse the hell out of `git cl upload`.
BUG=none
Review URL: https://codereview.chromium.org/252683003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@266648 0039d316-1c4b-4281-b951-d872f2087c98
upstreams.
In the event that users are NOT using the enhanced tooling, this is equivalent
to `git merge-base "@{u}" HEAD`. In the event that they are, this will catch
the case where their parent branch got rebased, but this branch hasn't been
rebased on the parent yet.
R=agable@chromium.org, szager@chromium.org
BUG=
Review URL: https://codereview.chromium.org/224703002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@261601 0039d316-1c4b-4281-b951-d872f2087c98
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
(It's a bit unfortunate that we're duplicating the default -regex list in
clang-format-diff.py here :-/ But the .js and .proto stuff is probably not
quite ready yet anyhow, so I'm only adding .mm for now.)
TEST=Edit a .mm file, commit, run `git cl format`, `git diff` shows formatted
output.
TBR=iannucci@chromium.org
Review URL: https://codereview.chromium.org/152303002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@248424 0039d316-1c4b-4281-b951-d872f2087c98
For simplicity, the canned presubmit check just calls git cl format
directly with a new option --dry-run which does not change the files on
disk.
Because some users may not have git or clang-format might somehow have
errors, this canned check is a warning. Additionally, if git cl format
fails with an error then the presubmit check will silently report
success to avoid spamming misconfigured users during upload.
BUG=none
Review URL: https://codereview.chromium.org/141493002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@246066 0039d316-1c4b-4281-b951-d872f2087c98
BUG=240309
TEST='git cl format' and 'git cl format --full' indent by 4 when run inside of third_party/WebKit
TBR=iannucci@chromium.org
Review URL: https://codereview.chromium.org/136333010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@245694 0039d316-1c4b-4281-b951-d872f2087c98
as part of the Chromium checkout.
This follows the approach used by gn.
Changes include:
- in-the-PATH clang-format trampoline scripts
- clang_format.py, which finds clang-format binaries inside of Chrome
- Hook 'git cl format' to the new binaries and scripts
- Rearrange some code, for reuse between clang_format.py and gn.py
BUG=240309
TEST=presubmits (one failure on mac, but it fails on a clean checkout too)
Review URL: https://codereview.chromium.org/134313007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@245074 0039d316-1c4b-4281-b951-d872f2087c98
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
Passing the email address used to connect to Rietveld on the command
line is useful for testing purposes, in particular with a test server.
BUG=331123
Review URL: https://codereview.chromium.org/122583003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@244017 0039d316-1c4b-4281-b951-d872f2087c98
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
MatchSvnGlob uses the root url to grep for existing svn commits by
matching the git-svn-id lines in the commit messages. If there is a
rewriteRoot config, then the git-svn-id lines will have the
rewritten url's, and the code should match against that.
R=blundell@chromium.org,maruel@chromium.org
Review URL: https://codereview.chromium.org/103053011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@241043 0039d316-1c4b-4281-b951-d872f2087c98
This will also enable git cl format to be more easily runnable by
presubmit within a subdirectory.
BUG=none
Review URL: https://codereview.chromium.org/108353005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@239821 0039d316-1c4b-4281-b951-d872f2087c98
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
Newer versions of clang-format-diff.py now require a -i flag to
explicitely apply edits, otherwise they just print a diff, which
make "git cl format" a no-op.
This patch fixes the issue by probing the script's help text to
see if the flag is needed. If it is, it is added automatically.
BUG=NONE
R=maruel@chromium.org
Review URL: https://codereview.chromium.org/44263004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@231020 0039d316-1c4b-4281-b951-d872f2087c98
Currently, running "git cl issue 0" in a client prints a confusing error
message if there's no issue assigned. This changes the code so that the issue
number isn't "unset" if it's not currently set.
BUG=
Review URL: https://codereview.chromium.org/32193016
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@230499 0039d316-1c4b-4281-b951-d872f2087c98
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
I have clang-format-3.3 installed and it appears to default to stripping one leading slash.
BUG=294188
Review URL: https://chromiumcodereview.appspot.com/24217002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@225705 0039d316-1c4b-4281-b951-d872f2087c98
This command shows the differences between local branch
and the last patch uploaded to rietveld. The idea being
that you can see what would be uploaded before you actually
upload.
This can useful when using 'git cl patch' to move changes
between checkouts and working from more than one machine at
once.
Review URL: https://chromiumcodereview.appspot.com/24276008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@225552 0039d316-1c4b-4281-b951-d872f2087c98
Update subcommand to support examples, always disable format_description and
format_epilog and add colors when enabled.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/22824018
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@218180 0039d316-1c4b-4281-b951-d872f2087c98
Use the code in git_cl.py, since it was the more evolved. Add documentation
and clean up the structure along the way.
This makes it possible to easily reuse the generic subcommand handling code.
As a first step, only git_cl.py is using it. Eventually, gclient and gcl could
be switch over.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/23250002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@218072 0039d316-1c4b-4281-b951-d872f2087c98
Having "Description: u'Foo\nBUG=1234\nR=bar@chromium.org\nReview Url: baz'"
is not actually that useful in my experience. I'd rather be able to easily
read the final CL description that is being committed.
Review URL: https://chromiumcodereview.appspot.com/23185006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@217834 0039d316-1c4b-4281-b951-d872f2087c98