[mythtv] FFmpeg plans

David Engel david at istwok.net
Tue May 15 15:51:23 UTC 2018


On Mon, May 14, 2018 at 07:44:11PM -0400, Peter Bennett wrote:
> 
> 
> On 05/14/2018 04:04 PM, Peter Bennett wrote:
> > 
> > 
> > On 05/14/2018 02:11 PM, David Engel wrote:
> > > Did you try without squash?  I know whatever we do will be tedious,
> > > but what you describe below with our own, second repository sound more
> > > so.
> > > 
> > > David
> > > 
> > I did not. I will create another branch in my repository and try that.
> > 
> > Peter
> 
> Tested Without squash and without private repo:
> 
> It works fine I am able to merge updates from ffmpeg wiothout conflicts as
> well as cherry pick a commit without problem, using the procedure in https://stackoverflow.com/questions/12978260/how-do-i-go-to-a-specific-commit-using-git-subtree
> 
> The log is full of ffmpeg entries. We will need some filtering on "git log"
> to make it useful. I have not looked into that. Look at
> https://github.com/bennettpeter/mythtv and select the "ffmpeg-subtree"
> branch. Notice it has 125000 commits, as opposed to the master branch, which
> has 34000.
> 
> I think this is a good solution, as long as other developers are not too
> unhappy about the log situation.

The log bloat is unfortunate, but I think this solution is better than
the other alternatives so far.  Thanks for testing all of this.

David

> Below are the steps I used
> 
> git remote rename ffmpeg ffmpeg-private
> git remote add ffmpeg git at github.com:FFmpeg/FFmpeg.git
> git checkout 2403427
> git branch ffmpeg-subtree
> git checkout ffmpeg-subtree
> git clean -xfd
> git rm -r mythtv/external/FFmpeg
> rm -r mythtv/external/FFmpeg/
> git fetch ffmpeg
> git subtree add -P mythtv/external/FFmpeg 6dc7963
> git apply --directory=mythtv/external/FFmpeg
> ../patch/20180510_1945_FFmpeg_MythTV_Customization_fixed.patch
> git apply --directory=mythtv/external/FFmpeg
> ../patch/20180511_1537_FFmpeg_compile_errors.patch
> git apply ../patch/20180512_1728_additional_ffmpeg_fixes.patch
> git apply ../patch/20180512_1158_fix_mythtv_compile_errors.patch --reject
> git apply ../patch/20180512_1534_compile_error_and_fix_playback.patch
> --reject
> git push --set-upstream bennettpeter ffmpeg-subtree
> #sync some ffmpeg updates
> git fetch ffmpeg
> git subtree merge -P mythtv/external/FFmpeg 7db022e
> #successful
> #cherry-pick a commit from ffmpeg
> git checkout 7db022e
> git cherry-pick -e -x 42a03e7
> git log
> #copy the commit hash -> 8a57b2fced942bc1c17ff26cfe8fa36193d95fbb
> git checkout ffmpeg-subtree
> # you can use HEAD@{1} instead of the hash if you did not do anything in
> between
> git subtree merge -P mythtv/external/FFmpeg
> 8a57b2fced942bc1c17ff26cfe8fa36193d95fbb
> 
> Peter

-- 
David Engel
david at istwok.net


More information about the mythtv-dev mailing list