[FFmpeg-devel] FFmpegs future and resigning as leader

Michael Niedermayer michael at niedermayer.cc
Fri Jul 31 21:27:00 CEST 2015


On Fri, Jul 31, 2015 at 05:37:12PM +0200, Clément Bœsch wrote:
[...]
> So in order for the community to continue this, I'd say we probably need
> to have some help for:
> 
> - guidelines on the merge strategies

The merge process i used is quite simple

1.
merge.conflictstyle=diff3 (in git config somewhere)

2.
git fetch --all

3.
git log ..qatar/master    --pretty='%H %s'

4. pick one hash at a time into (start with the oldest)
git merge --stat --log  <hash here>   -Xrename-threshold=10 -Xpatience | sort

then open files in text editor and edit code in conflict markers to
simplify. Also simple search and replace is very usefull like if a
variable rename is merged, do a merge + do the rename over the conflict
markered code

if needed you can copy and paste a conflict block into the murge script
which will show it in a nicer colored form

then run the spitfire script as often as you want during the process
(no arguments required)
it will fix up license headers, and simplify all conflicts which have
after any renaming or editing become trivial. So doing a merge of a
rename initially might result in hundreads of conflicts and after
redoing the rename and spitfire you then possibly have only 10 or
so left to resolve by hand.

There are hundreads of other tools out there to resolve merge
conflicts, above is just what i used for 99% of my merges

ahh and sedf, which runs a sed command over the files specified after
it,

all very basic scripts really, no magic

ahh and to add fate samples, you need to be in the samples group
on the server you are one of the roots so that should be fine

and then to update fate samples drop em locally in your directory
and use a script like this:

rsync -vauL --chmod=Dg+s,Duo+x,ug+rw,o+r,o-w,+X ffmpeg.org:/home/samples/fate-suite/ ~/fatesamples/fate/fate-suite
rsync -vauL --chmod=Dg+s,Duo+x,ug+rw,o+r,o-w,+X fate at fate.ffmpeg.org:/var/www/fateweb/fate-suite/ ~/fatesamples/fate/fate-suite

echo dry runs next
rsync -vanL --no-g --chmod=Dg+s,Duo+x,ug+rw,o+r,o-w,+X ~/fatesamples/fate/fate-suite/ fate at fate.ffmpeg.org:/var/www/fateweb/fate-suite
rsync -vanL --no-g --chmod=Dg+s,Duo+x,ug+rw,o+r,o-w,+X ~/fatesamples/fate/fate-suite/ ffmpeg.org:/home/samples/fate-suite
echo NEXT will be upload check the 2 above!
rsync -vaL  --no-g --chmod=Dg+s,Duo+x,ug+rw,o+r,o-w,+X ~/fatesamples/fate/fate-suite/ fate at fate.ffmpeg.org:/var/www/fateweb/fate-suite
rsync -vaL  --no-g --chmod=Dg+s,Duo+x,ug+rw,o+r,o-w,+X ~/fatesamples/fate/fate-suite/ ffmpeg.org:/home/samples/fate-suite


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
#!/bin/sh

grep -A99999 '<<<<<<<' | grep -B99999 '>>>>>>>' >murge.X
grep -A9999 '====' murge.X | egrep -v '=======|<<<<<<<|>>>>>>>|\|\|\|\|\|\|\|' >murge.theirs
grep -B9999 '||||' murge.X | egrep -v '=======|<<<<<<<|>>>>>>>|\|\|\|\|\|\|\|' >murge.ours
grep -B9999 '====' murge.X | grep -A9999 '||||' | egrep -v '=======|<<<<<<<|>>>>>>>|\|\|\|\|\|\|\|'  >murge.common

colordiff -du $* murge.ours murge.theirs
grep . murge.common > /dev/null && colordiff -du $* murge.common murge.theirs
grep . murge.common > /dev/null && colordiff -du $* murge.common murge.ours
rm murge.theirs murge.common murge.ours murge.X


-------------- next part --------------
A non-text attachment was scrubbed...
Name: spitfire.py
Type: text/x-python
Size: 4870 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150731/30e34f36/attachment.py>
-------------- next part --------------
#!/bin/sh

set -e

CMD="$1"
shift
for i in $* ; do
    test -f $i
    cp -p $i $i~ && sed "$CMD" $i~ > $i
done
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150731/30e34f36/attachment.sig>


More information about the ffmpeg-devel mailing list