Używanie cross commit
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
UWAGA: Tłumaczenie tej strony nie zostało zakończone.
Może być ona niekompletna lub wymagać korekty.
Chcesz pomóc? | Dokończ tłumaczenie | Sprawdź ortografię | Więcej takich stron...
cross-commit is a script that allows a single patch to be easily checked in on multiple branches.
Spis treści |
[edytuj] Getting the script
"make -f client.mk pull_all" from a working copy of the trunk now pulls cross-commit, and that'll work on the 1.8 branch soon, too, so you might already have the script. If you don't, however, then from the parent directory of your source dir, do:
cvs co mozilla/tools/cross-commit
Note that you will need to have $CVSROOT and such set up correctly for this to work.
[edytuj] Zastosowanie skryptu
[edytuj] Szybki przegląd
There are a couple of common ways to use cross-commit:
[edytuj] Land something simultaneously on the trunk and MOZILLA_1_8_BRANCH
# Modify the files (probably by applying the patch) patch -p0 < ~/caret.patch # Commit on trunk and branch at once # Make sure to use -m "Commit message" when doing so tools/cross-commit -m "Fix some sort of security bug" layout/base/nsCaret.h
[edytuj] Land something on two other branches that has already landed on the trunk
# update to the first branch you want to land on cvs update -rMOZILLA_1_8_BRANCH layout/base/nsCaret.h # Modify the files (probably by applying the patch) patch -p0 < ~/caret.patch # Commit on all the branches at once # Make sure to use -m "Commit message" when doing so tools/cross-commit --moz18 --branch MOZILLA_1_8_0_BRANCH -m "Fix some sort of security bug" layout/base/nsCaret.h
[edytuj] Uwagi
Note that you MUST use a -m option with a CVS checkin message. Otherwise cross-commit will end up waiting forever for you to type a CVS checkin message in an editor that it never shows you! (Although it works without specifying -m on the command line if you are using X-enabled emacs on Linux.)
Also note that if you don't specify any branches to commit on, cross-commit will commit to the trunk and the MOZILLA_1_8_BRANCH by default.
[edytuj] Szczegóły
cross-commit accepts the following options:
- all CVS options (those to the left of the specific CVS command) and CVS commit options (those to the right of a commit command), although the
-rand-fCVS options need to be specified as--cvs-rand--cvs-fto avoid conflict with the similarly named (but different in meaning) CVS commit options. You can list the files/directories you want it to commit on the command line or leave them out and let it recursively troll the current directory. -
--verbose=[0|1]makes the script output more text as it runs. This defaults to 1. -
--trunkmakescross-commitland the patch onHEADin addition to any other branches specified. This is equivalent to--branch HEAD. -
--moz18makescross-commitland the patch onMOZILLA_1_8_BRANCHin addition to any other branches specified. This is equivalent to--branch MOZILLA_1_8_BRANCH. -
--branch=branch-tagadds a branch to the list of branches to land the patch on. This may be specified multiple times, each time with a different branch name. This may also be used in combination with--trunkand--moz18.
If no branches are specified, cross-commit will default to landing on HEAD and MOZILLA_1_8_BRANCH.