diff --git a/man/html/depot_tools.html b/man/html/depot_tools.html index 0fd21732ab..06dab99451 100644 --- a/man/html/depot_tools.html +++ b/man/html/depot_tools.html @@ -4,7 +4,7 @@ - + depot_tools(7) - - - - -
-
-

SYNOPSIS

-
-
-
git drover --branch <branch>
-           (--cherry-pick <change> | --continue [path_to_workdir] |
-            --abort [path_to_workdir])
-           [--parent_checkout <path-to-existing-checkout>]
-           [--verbose] [--dry-run]
-
-
-
-
-
-

DESCRIPTION

-
-

git drover applies a commit to a release branch. It creates a new workdir from -an existing checkout to avoid downloading a new checkout without affecting the -existing checkout.

-

git drover does not support reverts. See the EXAMPLE section for the -equivalent sequence of commands to run.

-
-
-
-

OPTIONS

-
-
-
---branch <branch> -
-
-

- The branch to cherry-pick the commit to. -

-
-
---cherry-pick <commit> -
-
-

- The commit to cherry-pick. -

-
-
---continue [path_to_workdir] -
-
-

- Continue a cherry-pick that required manual resolution. The path to the drover - workdir is optional. If unspecified, the current directory is used. -

-
-
---abort [path_to_workdir] -
-
-

- Abort a cherry-pick that required manual resolution and clean up its workdir. - The path to the drover workdir is optional. If unspecified, the current - directory is used. -

-
-
---parent_checkout -
-
-

- The path to the chromium checkout to use as the source for a creating - git-new-workdir workdir to use for cherry-picking. If unspecified, the current - directory is used. -

-
-
--v -
-
---verbose -
-
-

- Enable verbose logging. -

-
-
---dry-run -
-
-

- Skip landing the cherry-pick. Just ensure that the commit can be cherry-picked - into the branch. -

-
-
-
-
-
-

EXAMPLE

-
-
-

PREREQUISITES

-

Before working with branches, you must -gclient sync --with_branch_heads -at least once to fetch the branches.

-
-

Merge Example

-

# Here's a commit (from some.committer) that we want to 'drover'.
-$ git log -n 1 --pretty=fuller
-commit 62472550afc1d8c317c49bdda05a241e1477e438
-Author:     some.committer <some.committer@chromium.org>
-AuthorDate: Thu Apr 10 08:54:46 2014 +0000
-Commit:     some.committer <some.committer@chromium.org>
-CommitDate: Thu Apr 10 08:54:46 2014 +0000
-
-    This change needs to go to branch 9999
-
-# Now do the 'drover'.
-$ git drover --branch 9999 --cherry-pick 62472550afc1d8c317c49bdda05a241e1477e438
-Going to cherry-pick
-"""
-commit 62472550afc1d8c317c49bdda05a241e1477e438
-Author: some.committer <some.committer@chromium.org>
-Date:   Thu Apr 10 08:54:46 2014 +0000
-
-    This change needs to go to branch 9999
-"""
-to 9999. Continue (y/n)? y
-
-# A cl is uploaded to rietveld, where it can be reviewed before landing.
-
-About to land on 9999. Continue (y/n)? y
-# The cherry-pick cl is landed on the branch 9999.
-

-
-
-

Merge with Conflicts Example

-

# Here's a commit (from some.committer) that we want to 'drover'.
-$ git log -n 1 --pretty=fuller
-commit 7fd5f30fcbf6010bb579794d3080ea37d050b26d
-Author:     some.committer <some.committer@chromium.org>
-AuthorDate: Thu Apr 10 08:54:46 2014 +0000
-Commit:     some.committer <some.committer@chromium.org>
-CommitDate: Thu Apr 10 08:54:46 2014 +0000
-
-    This change needs to go to branch 9999
-
-# Now do the 'drover'.
-$ git drover --branch 9999 --cherry-pick 7fd5f30fcbf6010bb579794d3080ea37d050b26d
-Going to cherry-pick
-"""
-commit 7fd5f30fcbf6010bb579794d3080ea37d050b26d
-Author: some.committer <some.committer@chromium.org>
-Date:   Thu Apr 10 08:54:46 2014 +0000
-
-    This change needs to go to branch 9999
-"""
-to 9999. Continue (y/n)? y
-
-Error: Patch failed to apply.
-
-A workdir for this cherry-pick has been created in
-  /tmp/drover_9999
-
-To continue, resolve the conflicts there and run
-  git drover --continue /tmp/drover_9999
-
-To abort this cherry-pick run
-  git drover --abort /tmp/drover_9999
-
-$ pushd /tmp/drover_9999
-# Manually resolve conflicts.
-$ git add path/to/file_with_conflicts
-$ popd
-$ git drover --continue /tmp/drover_9999
-
-# A cl is uploaded to rietveld, where it can be reviewed before landing.
-
-About to land on 9999. Continue (y/n)? y
-# The cherry-pick cl is landed on the branch 9999.
-

-
-
-

Revert Example

-

# Make sure we have the most up-to-date branch sources.
-$ git fetch
-
-# Checkout the branch with the change we want to revert.
-$ git checkout -b drover_9999 branch-heads/9999
-Branch 'drover_9999' set up to track remote ref 'refs/branch-heads/9999'.
-
-# Here's the commit we want to revert.
-$ git log -n 1
-commit fe52372519f5152cb7198467ed1a4f3c6f2bd8e5
-Author: some.committer <some.committer@chromium.org>
-Date:   Thu Apr 10 08:54:46 2014 +0000
-
-    This change is horribly broken.
-
-# Now do the revert.
-$ git revert fe52372519f5152cb7198467ed1a4f3c6f2bd8e5
-
-# That reverted the change and committed the revert.
-$ git log -n 1
-commit 72fef2931683370c31c218f114deed6f507df942
-Author: you <you@chromium.org>
-Date:   Thu Apr 10 09:11:36 2014 +0000
-
-    Revert "This change is horribly broken."
-
-    This reverts commit fe52372519f5152cb7198467ed1a4f3c6f2bd8e5.
-
-# As with old drover, reverts are generally OK to commit without LGTM.
-$ git cl upload -r some.committer@chromium.org --send-mail
-$ git cl land --bypass-hooks
-

-

If your cherrypick onto a release branch gets reverted, do not create a new -cherrypick from main onto that release branch. Instead, use the "Reland" -button on the original cherrypick CL.

-
-
-

Manual Merge Example

-

# Make sure we have the most up-to-date branch sources.
-$ git fetch
-
-# Here's a commit (from some.committer) that we want to 'drover'.
-$ git log -n 1 --pretty=fuller
-commit 068a64822d90ab3b918425679816aee2d9be1e24
-Author:     some.committer <some.committer@chromium.org>
-AuthorDate: Thu Apr 10 08:54:46 2014 +0000
-Commit:     some.committer <some.committer@chromium.org>
-CommitDate: Thu Apr 10 08:54:46 2014 +0000
-
-    This change needs to go to branch 9999
-
-# Checkout the branch we want to 'drover' to.
-$ git checkout -b drover_9999 branch-heads/9999
-Branch 'drover_9999' set up to track remote ref 'refs/branch-heads/9999'.
-
-# Now do the 'drover'.
-# IMPORTANT!!! Do Not leave off the '-x' flag
-$ git cherry-pick -x 068a64822d90ab3b918425679816aee2d9be1e24
-[drover_9999 cda4a18] This change needs to go to branch 9999
- Author: some.committer <some.committer@chromium.org>
- Date: Thu Apr 10 08:54:46 2014 +0000
- 1 file changed, 1 insertion(+)
- create mode 100644 modified_file
-
-# That took the code authored by some.committer and committed it to
-# the branch by the person who drovered it (i.e. you).
-$ git log -n 1 --pretty=fuller
-commit cda4a18321ef3f603e955da6e263b6cadff11885
-Author:     some.committer <some.committer@chromium.org>
-AuthorDate: Thu Apr 10 08:54:46 2014 +0000
-Commit:     you <you@chromium.org>
-CommitDate: Thu Apr 10 09:11:36 2014 +0000
-
-    This change needs to go to branch 9999
-
-    (cherry picked from commit 068a64822d90ab3b918425679816aee2d9be1e24)
-
-# Looks good. Ship it!
-$ git cl upload
-# Wait for LGTM or TBR it.
-$ git cl land
-# Or skip the LGTM/TBR and just 'git cl land --bypass-hooks'
-

-

If git cl upload errors out, the branch you’re uploading to probably has a CL -with the same Change-Id. Instead of cherry-picking manually, use the Reland -button in the Gerrit UI to create a new CL, and patch that CL into your client.

-
-
-
-
-
-

SEE ALSO

- -
-
-

CHROMIUM DEPOT_TOOLS

-
-

Part of the chromium depot_tools(7) suite. These tools are meant to -assist with the development of chromium and related projects. Download the tools -by checking out the git repository.

-
-
-
-

- - - diff --git a/man/html/git-footers.html b/man/html/git-footers.html index cb4cb73a76..924402bf7e 100644 --- a/man/html/git-footers.html +++ b/man/html/git-footers.html @@ -4,7 +4,7 @@ - + git-footers(1)