summaryrefslogtreecommitdiff
path: root/doc/git-howto.texi
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-06-28 23:57:31 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-06-28 23:57:31 +0200
commit4453f6b8613b0803246c1a9160c8270ec9de1237 (patch)
tree3a641fda838ccb4130bbf5e2d1d29c8bbcc69fa4 /doc/git-howto.texi
parent7877b50d181be1e044eb8b57f203c763297651b1 (diff)
parentb92c7ee662b618518bff366af3274784fb141dde (diff)
downloadffmpeg-4453f6b8613b0803246c1a9160c8270ec9de1237.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: flv: add support for G.711 doc: git: Add checklist with test steps to perform before pushing flvenc: K&R formatting cosmetics movenc: Add channel layouts for PCM. Conflicts: libavformat/flvenc.c tests/ref/fate/acodec-pcm-s16be tests/ref/fate/acodec-pcm-s24be tests/ref/fate/acodec-pcm-s32be tests/ref/fate/acodec-pcm-s8 Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'doc/git-howto.texi')
-rw-r--r--doc/git-howto.texi48
1 files changed, 48 insertions, 0 deletions
diff --git a/doc/git-howto.texi b/doc/git-howto.texi
index 44514537ec..12025a5eed 100644
--- a/doc/git-howto.texi
+++ b/doc/git-howto.texi
@@ -346,6 +346,54 @@ git checkout -b svn_23456 $SHA1
where @var{$SHA1} is the commit hash from the @command{git log} output.
+
+@chapter pre-push checklist
+
+Once you have a set of commits that you feel are ready for pushing,
+work through the following checklist to doublecheck everything is in
+proper order. This list tries to be exhaustive. In case you are just
+pushing a typo in a comment, some of the steps may be unnecessary.
+Apply your common sense, but if in doubt, err on the side of caution.
+
+First make sure your Git repository is on a branch that is a direct
+descendant of the FFmpeg master branch, which is the only one from which
+pushing to FFmpeg is possible. Then run the following command:
+
+@itemize
+@item @command{git log --patch --stat origin/master..}
+
+to make sure that only the commits you want to push are pending, that
+the log messages of the commits are correct and descriptive and contain
+no cruft from @command{git am} and to doublecheck that the commits you
+want to push really only contain the changes they are supposed to contain.
+
+@item @command{git status}
+
+to ensure no local changes still need to be committed and that no local
+changes may have thrown off the results of your testing.
+@end itemize
+
+Next let the code pass through a full run of our testsuite. Before you do,
+the command @command{make fate-rsync} will update the test samples. Changes
+to the samples set are not very common and commits depending on samples
+changes are delayed for at least 24 hours to allow the new samples to
+propagate, so updating it once per day is sufficient. Now execute
+
+@itemize
+@item @command{make distclean}
+@item @command{/path/to/ffmpeg/configure}
+@item @command{make check}
+@end itemize
+
+While the test suite covers a wide range of possible problems, it is not
+a panacea. Do not hesitate to perform any other tests necessary to convince
+yourself that the changes you are about to push actually work as expected.
+
+Also note that every single commit should pass the test suite, not just
+the result of a series of patches. So if you have a series of related
+commits, run the test suite on every single commit.
+
+
@chapter Server Issues
Contact the project admins @email{root@@ffmpeg.org} if you have technical