[FFmpeg-devel] [GIT] ready by the weekend

Reimar Döffinger Reimar.Doeffinger
Thu Nov 18 20:53:00 CET 2010

On Thu, Nov 18, 2010 at 03:02:00PM +0100, Luca Barbato wrote:
> -1. Checking out the source tree:
> +1. Cloning the source tree:
> -    svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ <target>
> +    git clone git at git.videolan.org:ffmpeg <target>
> -  This will put the MPlayer sources into the directory <target>.
> +  This will put the FFmpeg sources into the directory <target>.

Will that checkout work for pushing? Just because that git at ...
seems really strange.

> +9. Reverting broken commits
> -  To split a file, use 'svn copy' and remove the unneeded lines from each file.
> +    git revert
> -  Don't do a lot of cut'n'paste from one file to another without a very good
> -  reason and discuss it on the mplayer-dev-eng mailing list first. It will make
> -  those changes hard to trace.
> +  git revert will generate a revert commit. This will not make the faulty
> +  commit disapper from the history.


> +    git commit --amend
> +  allows to amend the last commit details quickly.

For the local history it is probably worth mentioning the
more advanced ways, for remote history it needs to say what is
ok to use.

> +11. Sending patches for review
> +    git send-email <commit list|directory>
> +  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.

That one I have a real issue with. Maybe they improved it, but my description
of that command is "spam everyone with mails without any context (and unreadable
subject lines) they can't make any sense of"
Problems: By default it doesn't ask you to actually write an email.
I mean one that properly introduces the patch set and explains it.
And don't start with "the log messages should say that". They won't,
and the result of this command I've seen (e.g. on qemu list) I'd
call "patch-spam" (though I suspect that may have been as-intended after all).
--amend and --compose IMO are the absolutely minimum extra options.
I also do not know if this feature is available in any Windows GUI.
Also replace the place-holders by something specific, the commit-list
thing has a far from obvious syntax.
One thing that might be note-worth is that at least on debian this
functionality is in a separate git-email package.

> +12. Pushing changes to remote trees
> +    git remote add <name> <url>
> +  Will add additional remote with a name reference
> +    git push <remote> <refspec>

Please write a FFmpeg guide, not a generic one, a generic
one every developer should be competent to find on their own.
Replace <name>, <url>, <remote> etc. by whatever is appropriate
for FFmpeg.

More information about the ffmpeg-devel mailing list