commit | ca7d881540e391fc1b5aa44d08c08a67e0b1a797 | [log] [tgz] |
---|---|---|
author | Edward Lemur <ehmaldonado@chromium.org> | Tue Jul 24 17:42:45 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jul 24 17:42:45 2018 |
tree | bcb742510c65f386e690eba4010f7fb5a574ad9b | |
parent | 6ec6d27f2d1bd3d46eddaf469ee21cacc3e04999 [diff] |
Reland "Reland "gclient_scm: Use cherry-picking instead of rebasing."" Abort any cherry-picks before applying the patch, so that if the bots are in a bad state, we don't fail. Original change's description: > Reland "gclient_scm: Use cherry-picking instead of rebasing." > > The failures were caused by: > 1 - When one change (call it #2) has been uploaded on top of another (#1), > and (#1) has already landed, git cherry-pick complains that the range > '<merge-base>..<change #2>' contains empty commits, since the contents > of (#1) are already present in the tree. > 2 - We did not abort the cherry-picking when 'git cherry-pick' failed, > so a failure made all further CLs in that bot fail. > > This CL fixes it and prevents further regressions. > > Original change's description: > > gclient_scm: Use cherry-picking instead of rebasing. > > > > Currently gclient might include extra commits when applying patches. > > For example, in this case we checkout |patch| and rebase it on top of |base|, > > thus including an |extra commit| that we shouldn't. > > > > o master > > | > > . o patch > > |/ > > o extra commit > > | > > o base (what gclient synced src at) > > > > This change uses the merge-base between |patch| and |master| to cherry-pick only > > the changes belonging to the patch. > > > > Bug: 850812 > > Change-Id: I138192f96bc62b1bb19b0e1ad952c8f8c67631c4 > > Reviewed-on: https://chromium-review.googlesource.com/1137052 > > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> > > Reviewed-by: Aaron Gable <agable@chromium.org> > > Bug: 850812 > Change-Id: I83f38d0a258df3f5cd89e277f0d648badff29a22 > Reviewed-on: https://chromium-review.googlesource.com/1139554 > Reviewed-by: Aaron Gable <agable@chromium.org> > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> Bug: 850812 Change-Id: Ic65bda67c792bd7af5ec013a62d9615d1498eb3a Reviewed-on: https://chromium-review.googlesource.com/1142805 Reviewed-by: Aaron Gable <agable@chromium.org> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Tools for working with Chromium development. It requires python 2.7.
The most important tools are:
fetch
: A gclient
wrapper to checkout a project. Use fetch --help
for more details.gclient
: A meta-checkout tool. Think repo or git submodules, except that it support OS-specific rules, e.g. do not checkout Windows only dependencies when checking out for Android. Use gclient help
for more details and README.gclient.md.git cl
: A code review tool to interact with Rietveld or Gerrit. Use git cl help
for more details and README.git-cl.md.roll-dep
: A gclient dependency management tool to submit a dep roll, updating a dependency to a newer revision.There are a lot of git utilities included.
depot_tools
updates itself automatically when running gclient
tool. To disable auto update, set the environment variable DEPOT_TOOLS_UPDATE=0
.
To update package manually, run update_depot_tools.bat
on Windows, or ./update_depot_tools
on Linux or Mac.
On Windows only, running gclient
will install git
and python
.
To contribute change for review:
git new-branch <somename> # Hack git add . git commit -a -m "Fixes goat teleporting" # find reviewers git cl owners git log -- <yourfiles> # Request a review. git cl upload -r reviewer1@chromium.org,reviewer2@chromium.org --send-mail # Edit change description if needed. git cl desc # If change is approved, flag it to be committed. git cl set-commit # If change needs more work. git rebase-update ... git cl upload -t "Fixes goat teleporter destination to be Australia"
See also open bugs, open reviews, forum or report problems.
To update cpplint.py, please submit the change upstream first at https://github.com/google/styleguide/tree/gh-pages/cpplint then copy it down.