]> git.sesse.net Git - ffmpeg/blobdiff - doc/git-howto.txt
doc: cygwin: Update list of FATE package requirements
[ffmpeg] / doc / git-howto.txt
index 720f0d0008c37504b18092cf857998847e2708d0..036b567084d3644775cbf51b6ecbd15be866747f 100644 (file)
@@ -28,9 +28,9 @@ Consult these resources whenever you have problems, they are quite exhaustive.
 You do not need a special username or password.
 All you need is to provide a ssh public key to the Git server admin.
 
-What follows now is a basic introduction to Git and some FFmpeg-specific
+What follows now is a basic introduction to Git and some Libav-specific
 guidelines. Read it at least once, if you are granted commit privileges to the
-FFmpeg project you are expected to be familiar with these rules.
+Libav project you are expected to be familiar with these rules.
 
 
 
@@ -44,13 +44,13 @@ I. BASICS:
 
 1. Cloning the source tree:
 
-    git clone git://git.videolan.org/ffmpeg <target>
+    git clone git://git.libav.org/libav.git <target>
 
-  This will put the FFmpeg sources into the directory <target>.
+  This will put the Libav sources into the directory <target>.
 
-    git clone git@git.videolan.org:ffmpeg <target>
+    git clone git@git.libav.org:libav.git <target>
 
-  This will put the FFmpeg sources into the directory <target> and let
+  This will put the Libav sources into the directory <target> and let
   you push back your changes to the remote repository.
 
 
@@ -72,7 +72,7 @@ I. BASICS:
 
   fetches the changes from the main repository and replays your local commits
   over it. This is required to keep all your local changes at the top of
-  FFmpeg's master tree. The master tree will reject pushes with merge commits.
+  Libav's master tree. The master tree will reject pushes with merge commits.
 
 
 3. Adding/removing files/directories:
@@ -97,7 +97,7 @@ I. BASICS:
     git log <filename(s)>
 
   You may also use the graphical tools like gitview or gitk or the web
-  interface available at http://git.videolan.org
+  interface available at http://git.libav.org/
 
 6. Checking source tree status:
 
@@ -120,7 +120,7 @@ I. BASICS:
 
   For cosmetics-only commits you should get (almost) empty output from
 
-    git diff -wb <filename(s)>
+    git diff -w -b <filename(s)>
 
   Also check the output of
 
@@ -130,6 +130,11 @@ I. BASICS:
 
     git add [-i|-p|-A] <filenames/dirnames>
 
+  Make sure you have told git your name and email address, e.g. by running
+    git config --global user.name "My Name"
+    git config --global user.email my@email.invalid
+  (--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
   the interactive or the patch mode to select hunk by hunk what should be
   added to the commit.
@@ -200,8 +205,19 @@ I. BASICS:
 
     git format-patch <commit> [-o directory]
 
-  will generate a set of patches out of the current branch starting from
-  commit. By default the patches are created in the current directory.
+  will generate a set of patches for each commit between <commit> and
+  current HEAD. E.g.
+
+    git format-patch origin/master
+
+  will generate patches for all commits on current branch which are not
+  present in upstream.
+  A useful shortcut is also
+
+    git format-patch -n
+
+  which will generate patches from last n commits.
+  By default the patches are created in the current directory.
 
 11. Sending patches for review
 
@@ -210,6 +226,8 @@ I. BASICS:
   will send the patches created by git format-patch or directly generates
   them. All the email fields can be configured in the global/local
   configuration or overridden by command line.
+  Note that this tool must often be installed separately (e.g. git-email
+  package on Debian-based distros).
 
 12. Pushing changes to remote trees
 
@@ -239,6 +257,16 @@ I. BASICS:
   will show the svn changeset r23456. With older git versions searching in
   the git log output is the easiest option (especially if a pager with
   search capabilities is used).
+  This commit can be checked out with
+
+    git checkout -b svn_23456 :/'as revision 23456'
+
+  or for git < 1.7.1 with
+
+    git checkout -b svn_23456 $SHA1
+
+  where $SHA1 is the commit SHA1 from the 'git log' output.
+
 
-Contact the project admins <root at ffmpeg dot org> if you have technical
+Contact the project admins <git at libav dot org> if you have technical
 problems with the GIT server.