mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-06 15:49:50 +08:00
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>
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user