| @@ -1,10 +1,10 @@ | |||||
| \input texinfo @c -*- texinfo -*- | \input texinfo @c -*- texinfo -*- | ||||
| @documentencoding UTF-8 | @documentencoding UTF-8 | ||||
| @settitle Using git to develop FFmpeg | |||||
| @settitle Using Git to develop FFmpeg | |||||
| @titlepage | @titlepage | ||||
| @center @titlefont{Using git to develop FFmpeg} | |||||
| @center @titlefont{Using Git to develop FFmpeg} | |||||
| @end titlepage | @end titlepage | ||||
| @top | @top | ||||
| @@ -13,9 +13,9 @@ | |||||
| @chapter Introduction | @chapter Introduction | ||||
| This document aims in giving some quick references on a set of useful git | |||||
| This document aims in giving some quick references on a set of useful Git | |||||
| commands. You should always use the extensive and detailed documentation | commands. You should always use the extensive and detailed documentation | ||||
| provided directly by git: | |||||
| provided directly by Git: | |||||
| @example | @example | ||||
| git --help | git --help | ||||
| @@ -32,22 +32,21 @@ man git-<command> | |||||
| shows information about the subcommand <command>. | shows information about the subcommand <command>. | ||||
| Additional information could be found on the | Additional information could be found on the | ||||
| @url{http://gitref.org, Git Reference} website | |||||
| @url{http://gitref.org, Git Reference} website. | |||||
| For more information about the Git project, visit the | For more information about the Git project, visit the | ||||
| @url{http://git-scm.com/, Git website} | |||||
| @url{http://git-scm.com/, Git website}. | |||||
| Consult these resources whenever you have problems, they are quite exhaustive. | Consult these resources whenever you have problems, they are quite exhaustive. | ||||
| What follows now is a basic introduction to Git and some FFmpeg-specific | What follows now is a basic introduction to Git and some FFmpeg-specific | ||||
| guidelines to ease the contribution to the project | |||||
| guidelines to ease the contribution to the project. | |||||
| @chapter Basics Usage | @chapter Basics Usage | ||||
| @section Get GIT | |||||
| @section Get Git | |||||
| You can get git from @url{http://git-scm.com/} | |||||
| You can get Git from @url{http://git-scm.com/} | |||||
| Most distribution and operating system provide a package for it. | Most distribution and operating system provide a package for it. | ||||
| @@ -108,7 +107,7 @@ git add [-A] <filename/dirname> | |||||
| git rm [-r] <filename/dirname> | git rm [-r] <filename/dirname> | ||||
| @end example | @end example | ||||
| GIT needs to get notified of all changes you make to your working | |||||
| Git needs to get notified of all changes you make to your working | |||||
| directory that makes files appear or disappear. | directory that makes files appear or disappear. | ||||
| Line moves across files are automatically tracked. | Line moves across files are automatically tracked. | ||||
| @@ -128,8 +127,8 @@ will show all local modifications in your working directory as unified diff. | |||||
| git log <filename(s)> | git log <filename(s)> | ||||
| @end example | @end example | ||||
| You may also use the graphical tools like gitview or gitk or the web | |||||
| interface available at http://source.ffmpeg.org/ | |||||
| You may also use the graphical tools like @command{gitview} or @command{gitk} | |||||
| or the web interface available at @url{http://source.ffmpeg.org/}. | |||||
| @section Checking source tree status | @section Checking source tree status | ||||
| @@ -150,6 +149,7 @@ git diff --check | |||||
| to double check your changes before committing them to avoid trouble later | to double check your changes before committing them to avoid trouble later | ||||
| on. All experienced developers do this on each and every commit, no matter | on. All experienced developers do this on each and every commit, no matter | ||||
| how small. | how small. | ||||
| Every one of them has been saved from looking like a fool by this many times. | Every one of them has been saved from looking like a fool by this many times. | ||||
| It's very easy for stray debug output or cosmetic modifications to slip in, | It's very easy for stray debug output or cosmetic modifications to slip in, | ||||
| please avoid problems through this extra level of scrutiny. | please avoid problems through this extra level of scrutiny. | ||||
| @@ -172,14 +172,14 @@ to make sure you don't have untracked files or deletions. | |||||
| git add [-i|-p|-A] <filenames/dirnames> | git add [-i|-p|-A] <filenames/dirnames> | ||||
| @end example | @end example | ||||
| Make sure you have told git your name and email address | |||||
| Make sure you have told Git your name and email address | |||||
| @example | @example | ||||
| git config --global user.name "My Name" | git config --global user.name "My Name" | ||||
| git config --global user.email my@@email.invalid | git config --global user.email my@@email.invalid | ||||
| @end example | @end example | ||||
| Use @var{--global} to set the global configuration for all your git checkouts. | |||||
| Use @option{--global} to set the global configuration for all your Git checkouts. | |||||
| Git will select the changes to the files for commit. Optionally you can use | Git will select the changes to the files for commit. Optionally you can use | ||||
| the interactive or the patch mode to select hunk by hunk what should be | the interactive or the patch mode to select hunk by hunk what should be | ||||
| @@ -210,7 +210,7 @@ include filenames in log messages, Git provides that information. | |||||
| Possibly make the commit message have a terse, descriptive first line, an | Possibly make the commit message have a terse, descriptive first line, an | ||||
| empty line and then a full description. The first line will be used to name | empty line and then a full description. The first line will be used to name | ||||
| the patch by git format-patch. | |||||
| the patch by @command{git format-patch}. | |||||
| @section Preparing a patchset | @section Preparing a patchset | ||||
| @@ -352,23 +352,24 @@ branches matching the local ones. | |||||
| @section Finding a specific svn revision | @section Finding a specific svn revision | ||||
| Since version 1.7.1 git supports @var{:/foo} syntax for specifying commits | |||||
| Since version 1.7.1 Git supports @samp{:/foo} syntax for specifying commits | |||||
| based on a regular expression. see man gitrevisions | based on a regular expression. see man gitrevisions | ||||
| @example | @example | ||||
| git show :/'as revision 23456' | git show :/'as revision 23456' | ||||
| @end example | @end example | ||||
| will show the svn changeset @var{r23456}. With older git versions searching in | |||||
| will show the svn changeset @samp{r23456}. With older Git versions searching in | |||||
| the @command{git log} output is the easiest option (especially if a pager with | the @command{git log} output is the easiest option (especially if a pager with | ||||
| search capabilities is used). | search capabilities is used). | ||||
| This commit can be checked out with | This commit can be checked out with | ||||
| @example | @example | ||||
| git checkout -b svn_23456 :/'as revision 23456' | git checkout -b svn_23456 :/'as revision 23456' | ||||
| @end example | @end example | ||||
| or for git < 1.7.1 with | |||||
| or for Git < 1.7.1 with | |||||
| @example | @example | ||||
| git checkout -b svn_23456 $SHA1 | git checkout -b svn_23456 $SHA1 | ||||
| @@ -377,7 +378,7 @@ git checkout -b svn_23456 $SHA1 | |||||
| where @var{$SHA1} is the commit hash from the @command{git log} output. | where @var{$SHA1} is the commit hash from the @command{git log} output. | ||||
| @chapter pre-push checklist | |||||
| @chapter Pre-push checklist | |||||
| Once you have a set of commits that you feel are ready for pushing, | Once you have a set of commits that you feel are ready for pushing, | ||||
| work through the following checklist to doublecheck everything is in | work through the following checklist to doublecheck everything is in | ||||
| @@ -388,7 +389,7 @@ Apply your common sense, but if in doubt, err on the side of caution. | |||||
| First, make sure that the commits and branches you are going to push | First, make sure that the commits and branches you are going to push | ||||
| match what you want pushed and that nothing is missing, extraneous or | match what you want pushed and that nothing is missing, extraneous or | ||||
| wrong. You can see what will be pushed by running the git push command | wrong. You can see what will be pushed by running the git push command | ||||
| with --dry-run first. And then inspecting the commits listed with | |||||
| with @option{--dry-run} first. And then inspecting the commits listed with | |||||
| @command{git log -p 1234567..987654}. The @command{git status} command | @command{git log -p 1234567..987654}. The @command{git status} command | ||||
| may help in finding local changes that have been forgotten to be added. | may help in finding local changes that have been forgotten to be added. | ||||
| @@ -397,7 +398,7 @@ Next let the code pass through a full run of our testsuite. | |||||
| @itemize | @itemize | ||||
| @item @command{make distclean} | @item @command{make distclean} | ||||
| @item @command{/path/to/ffmpeg/configure} | @item @command{/path/to/ffmpeg/configure} | ||||
| @item @command{make check} | |||||
| @item @command{make fate} | |||||
| @item if fate fails due to missing samples run @command{make fate-rsync} and retry | @item if fate fails due to missing samples run @command{make fate-rsync} and retry | ||||
| @end itemize | @end itemize | ||||
| @@ -415,5 +416,5 @@ recommended. | |||||
| @chapter Server Issues | @chapter Server Issues | ||||
| Contact the project admins @email{root@@ffmpeg.org} if you have technical | |||||
| problems with the GIT server. | |||||
| Contact the project admins at @email{root@@ffmpeg.org} if you have technical | |||||
| problems with the Git server. | |||||