* [FFmpeg-devel] [RFC] fate rsync switch to git
@ 2024-02-20 14:31 Michael Niedermayer
2024-02-20 18:43 ` Jan Ekström
2024-02-21 1:39 ` Jean-Baptiste Kempf
0 siblings, 2 replies; 8+ messages in thread
From: Michael Niedermayer @ 2024-02-20 14:31 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 817 bytes --]
Hi all
I did hear (at fosdem?)
about the idea to switch from rsync to git for managing the fate samples
i thought the idea sounds interresting but isnt rsync more efficient ?
If someone wants to try (it would be interresting to see how it
compares to rsync in terms of bandwidth, speed, latency, load, diskspace)
FFmpeg and fateserver git are here:
https://git.ffmpeg.org/ffmpeg.git
https://git.ffmpeg.org/fateserver.git
I do remember we had some embeded systems and VMs that where short on
disk space.
thx
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
If you fake or manipulate statistics in a paper in physics you will never
get a job again.
If you fake or manipulate statistics in a paper in medicin you will get
a job for life at the pharma industry.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [RFC] fate rsync switch to git
2024-02-20 14:31 [FFmpeg-devel] [RFC] fate rsync switch to git Michael Niedermayer
@ 2024-02-20 18:43 ` Jan Ekström
2024-02-21 14:38 ` Niklas Haas
2024-02-21 1:39 ` Jean-Baptiste Kempf
1 sibling, 1 reply; 8+ messages in thread
From: Jan Ekström @ 2024-02-20 18:43 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Tue, Feb 20, 2024 at 4:31 PM Michael Niedermayer
<michael@niedermayer.cc> wrote:
>
> Hi all
>
> I did hear (at fosdem?)
> about the idea to switch from rsync to git for managing the fate samples
> i thought the idea sounds interresting but isnt rsync more efficient ?
>
Do note that the idea was that this would only be for management of
the main archive, so it would not affect clients/runners rsync'ing
from the main archive.
Of course clients which want to sync directly from git could do that,
but the idea would be to keep the sync requirements same for FATE
clients/runners: if you are only running tests, rsync is enough.
As after all, the primary reasons for having the samples in git would
be versioning, more concrete known states in a public archive (I would
probably not call this a "backup", but it would mean we would have the
history in multiple places at least), as well as - if we utilize
something like git{lab,hub} - easier workflow to adding new samples by
means of f.ex. merge/pull requests.
This idea originated from looking at how the dav1d project handled
their reference sample suite, which seems to have served them well
enough: https://code.videolan.org/videolan/dav1d-test-data
Regards,
Jan
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [RFC] fate rsync switch to git
2024-02-20 14:31 [FFmpeg-devel] [RFC] fate rsync switch to git Michael Niedermayer
2024-02-20 18:43 ` Jan Ekström
@ 2024-02-21 1:39 ` Jean-Baptiste Kempf
2024-02-21 3:13 ` Zhao Zhili
2024-02-21 12:50 ` Michael Niedermayer
1 sibling, 2 replies; 8+ messages in thread
From: Jean-Baptiste Kempf @ 2024-02-21 1:39 UTC (permalink / raw)
To: ffmpeg-devel
Yo,
On Tue, 20 Feb 2024, at 15:31, Michael Niedermayer wrote:
> I did hear (at fosdem?)
> about the idea to switch from rsync to git for managing the fate samples
> i thought the idea sounds interresting but isnt rsync more efficient ?
Yes, that's my idea.
The git part is not for others clients to sync, but just to manage the samples.
It allows to have versioning of the samples, with the extra ability to have branches and tags matching the ffmpeg branches.
It avoids the weird dance "waiting for FATE admin to upload thing", because their would be multiple approvers/committers to that repo.
It simplifies the workflow on the admin side, since with a git hook, the server does "git update" in the directory that will be rsync'd by the mirrors. And it does not change their workflow, still using rsync.
just my 5c.
--
Jean-Baptiste Kempf - President
+33 672 704 734
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [RFC] fate rsync switch to git
2024-02-21 1:39 ` Jean-Baptiste Kempf
@ 2024-02-21 3:13 ` Zhao Zhili
2024-02-21 12:50 ` Michael Niedermayer
1 sibling, 0 replies; 8+ messages in thread
From: Zhao Zhili @ 2024-02-21 3:13 UTC (permalink / raw)
To: FFmpeg development discussions and patches
> On Feb 21, 2024, at 09:39, Jean-Baptiste Kempf <jb@videolan.org> wrote:
>
> Yo,
>
> On Tue, 20 Feb 2024, at 15:31, Michael Niedermayer wrote:
>> I did hear (at fosdem?)
>> about the idea to switch from rsync to git for managing the fate samples
>> i thought the idea sounds interresting but isnt rsync more efficient ?
>
> Yes, that's my idea.
>
> The git part is not for others clients to sync, but just to manage the samples.
I use git and git-lfs to manage/sync ffmpeg-fate-sample. It’s easy to setup a mirror
repo to avoid a lot of network issues at some countries.
>
> It allows to have versioning of the samples, with the extra ability to have branches and tags matching the ffmpeg branches.
> It avoids the weird dance "waiting for FATE admin to upload thing", because their would be multiple approvers/committers to that repo.
> It simplifies the workflow on the admin side, since with a git hook, the server does "git update" in the directory that will be rsync'd by the mirrors. And it does not change their workflow, still using rsync.
>
> just my 5c.
>
> --
> Jean-Baptiste Kempf - President
> +33 672 704 734
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [RFC] fate rsync switch to git
2024-02-21 1:39 ` Jean-Baptiste Kempf
2024-02-21 3:13 ` Zhao Zhili
@ 2024-02-21 12:50 ` Michael Niedermayer
1 sibling, 0 replies; 8+ messages in thread
From: Michael Niedermayer @ 2024-02-21 12:50 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 2753 bytes --]
On Wed, Feb 21, 2024 at 02:39:42AM +0100, Jean-Baptiste Kempf wrote:
> Yo,
>
> On Tue, 20 Feb 2024, at 15:31, Michael Niedermayer wrote:
> > I did hear (at fosdem?)
> > about the idea to switch from rsync to git for managing the fate samples
> > i thought the idea sounds interresting but isnt rsync more efficient ?
>
> Yes, that's my idea.
>
> The git part is not for others clients to sync, but just to manage the samples.
>
> It allows to have versioning of the samples, with the extra ability to have branches and tags matching the ffmpeg branches.
versioning is fine
branches, we did not need, and adding branches sounds like a solution
searching for a problem
> It avoids the weird dance "waiting for FATE admin to upload thing", because their would be multiple approvers/committers to that repo.
we have 15 people in the samples group that have the power to upload samples,
the bottleneck is that only 2 of them actual do upload and noone else is
volunteering
> It simplifies the workflow on the admin side, since with a git hook, the server does "git update" in the directory that will be rsync'd by the mirrors. And it does not change their workflow, still using rsync.
It still requires people to push the new sample to git and that git is
a different architecture than how the samples normally where downloaded if you
keep rsync
I mean everyone has a rsync based checkout like now for "make fate"
updating with "make fate-rsync"
they add a sample to this and then they have no git to push that to
cuz, no .git directory is there.
This can be handled in a few ways but it mainly seems messy
what i suggest is that someone adds a
make fate-rsync-upload
that runs the rsync command
that way the other people who actually have fate samlpe upload rights
actually do the upload after testing a patch instead of waiting for 2 people
to do it.
Such "fate-rsync-upload" is easy and needs no change to architecture it also
doesnt make any future change to architecture any more difficult
so i suggets that to be done together with people volunteering to do fate sample
uploads themselfs if they freuqently review/approve patches that need such uploads
If people prefer switching to git then we need an volunteer to write and test the
related hook(s). I can create a git repo for it
Iam mainly hesitant now because it seems an additional layer not replacing a layer
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
than the original author, trying to rewrite it will not make it better.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [RFC] fate rsync switch to git
2024-02-20 18:43 ` Jan Ekström
@ 2024-02-21 14:38 ` Niklas Haas
2024-02-21 14:50 ` epirat07
0 siblings, 1 reply; 8+ messages in thread
From: Niklas Haas @ 2024-02-21 14:38 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Tue, 20 Feb 2024 20:43:30 +0200 Jan Ekström <jeebjp@gmail.com> wrote:
> Do note that the idea was that this would only be for management of
> the main archive, so it would not affect clients/runners rsync'ing
> from the main archive.
>
> Of course clients which want to sync directly from git could do that,
> but the idea would be to keep the sync requirements same for FATE
> clients/runners: if you are only running tests, rsync is enough.
>
> As after all, the primary reasons for having the samples in git would
> be versioning, more concrete known states in a public archive (I would
> probably not call this a "backup", but it would mean we would have the
> history in multiple places at least), as well as - if we utilize
> something like git{lab,hub} - easier workflow to adding new samples by
> means of f.ex. merge/pull requests.
>
> This idea originated from looking at how the dav1d project handled
> their reference sample suite, which seems to have served them well
> enough: https://code.videolan.org/videolan/dav1d-test-data
>
> Regards,
> Jan
Is there any reason (besides efficiency hit) not to make the FATE repo
a `git submodule` of the FFmpeg git repo? That way, commits which depend
on certain additions to fate-samples can explicitly depend on the
commits adding those files, developers can more easily see (e.g. via
`git status`) if the fate samples are out-of-date (or use `git pull
--recurse-submodules` to automate the process).
It will also make the samples repo historically consistent, e.g. if
somebody changes a detail about a file in a later commit, older commits
referencing the unmodified version will continue passing FATE tests. I'm
not sure if this has ever been a concern in the past, but it may well
be one in the future.
Worrying about the performance impact of rsync vs git-lfs (or equivalent
solutions) seems like premature optimization to me; and the ease of
maintenance, historical consistency, transparency in process, and
end-user convenience of a git repository seems to far outweigh the
drawbacks.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [RFC] fate rsync switch to git
2024-02-21 14:38 ` Niklas Haas
@ 2024-02-21 14:50 ` epirat07
2024-02-27 18:57 ` Vittorio Giovara
0 siblings, 1 reply; 8+ messages in thread
From: epirat07 @ 2024-02-21 14:50 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On 21 Feb 2024, at 15:38, Niklas Haas wrote:
> On Tue, 20 Feb 2024 20:43:30 +0200 Jan Ekström <jeebjp@gmail.com> wrote:
>> Do note that the idea was that this would only be for management of
>> the main archive, so it would not affect clients/runners rsync'ing
>> from the main archive.
>>
>> Of course clients which want to sync directly from git could do that,
>> but the idea would be to keep the sync requirements same for FATE
>> clients/runners: if you are only running tests, rsync is enough.
>>
>> As after all, the primary reasons for having the samples in git would
>> be versioning, more concrete known states in a public archive (I would
>> probably not call this a "backup", but it would mean we would have the
>> history in multiple places at least), as well as - if we utilize
>> something like git{lab,hub} - easier workflow to adding new samples by
>> means of f.ex. merge/pull requests.
>>
>> This idea originated from looking at how the dav1d project handled
>> their reference sample suite, which seems to have served them well
>> enough: https://code.videolan.org/videolan/dav1d-test-data
>>
>> Regards,
>> Jan
>
> Is there any reason (besides efficiency hit) not to make the FATE repo
> a `git submodule` of the FFmpeg git repo? That way, commits which depend
> on certain additions to fate-samples can explicitly depend on the
> commits adding those files, developers can more easily see (e.g. via
> `git status`) if the fate samples are out-of-date (or use `git pull
> --recurse-submodules` to automate the process).
I am all for having it in git but do not like the idea of a git submodule
at all as they are a nightmare to work with, sometimes create absolutely
unworkable conflicts when rebasing and other oddities…
(We use submodules for the Icecast project, it was my idea back then and
I regret it…)
>
> It will also make the samples repo historically consistent, e.g. if
> somebody changes a detail about a file in a later commit, older commits
> referencing the unmodified version will continue passing FATE tests. I'm
> not sure if this has ever been a concern in the past, but it may well
> be one in the future.
>
> Worrying about the performance impact of rsync vs git-lfs (or equivalent
> solutions) seems like premature optimization to me; and the ease of
> maintenance, historical consistency, transparency in process, and
> end-user convenience of a git repository seems to far outweigh the
> drawbacks.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [RFC] fate rsync switch to git
2024-02-21 14:50 ` epirat07
@ 2024-02-27 18:57 ` Vittorio Giovara
0 siblings, 0 replies; 8+ messages in thread
From: Vittorio Giovara @ 2024-02-27 18:57 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Wed, Feb 21, 2024 at 3:50 PM <epirat07@gmail.com> wrote:
>
>
> On 21 Feb 2024, at 15:38, Niklas Haas wrote:
>
> > On Tue, 20 Feb 2024 20:43:30 +0200 Jan Ekström <jeebjp@gmail.com> wrote:
> >> Do note that the idea was that this would only be for management of
> >> the main archive, so it would not affect clients/runners rsync'ing
> >> from the main archive.
> >>
> >> Of course clients which want to sync directly from git could do that,
> >> but the idea would be to keep the sync requirements same for FATE
> >> clients/runners: if you are only running tests, rsync is enough.
> >>
> >> As after all, the primary reasons for having the samples in git would
> >> be versioning, more concrete known states in a public archive (I would
> >> probably not call this a "backup", but it would mean we would have the
> >> history in multiple places at least), as well as - if we utilize
> >> something like git{lab,hub} - easier workflow to adding new samples by
> >> means of f.ex. merge/pull requests.
> >>
> >> This idea originated from looking at how the dav1d project handled
> >> their reference sample suite, which seems to have served them well
> >> enough: https://code.videolan.org/videolan/dav1d-test-data
> >>
> >> Regards,
> >> Jan
> >
> > Is there any reason (besides efficiency hit) not to make the FATE repo
> > a `git submodule` of the FFmpeg git repo? That way, commits which depend
> > on certain additions to fate-samples can explicitly depend on the
> > commits adding those files, developers can more easily see (e.g. via
> > `git status`) if the fate samples are out-of-date (or use `git pull
> > --recurse-submodules` to automate the process).
>
> I am all for having it in git but do not like the idea of a git submodule
> at all as they are a nightmare to work with, sometimes create absolutely
> unworkable conflicts when rebasing and other oddities…
>
> (We use submodules for the Icecast project, it was my idea back then and
> I regret it…)
>
> >
> > It will also make the samples repo historically consistent, e.g. if
> > somebody changes a detail about a file in a later commit, older commits
> > referencing the unmodified version will continue passing FATE tests. I'm
> > not sure if this has ever been a concern in the past, but it may well
> > be one in the future.
> >
> > Worrying about the performance impact of rsync vs git-lfs (or equivalent
> > solutions) seems like premature optimization to me; and the ease of
> > maintenance, historical consistency, transparency in process, and
> > end-user convenience of a git repository seems to far outweigh the
> > drawbacks.
I don't mind submodules but I understand the complications. Maybe we could
design a system in which samples have attached a hash/branch/ref so that
when checking out older/outdated samples the correct sample itself can
still be used.
But overall I agree it would be much preferable to have the management
system in git over rsync.
--
Vittorio
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-02-27 18:58 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-20 14:31 [FFmpeg-devel] [RFC] fate rsync switch to git Michael Niedermayer
2024-02-20 18:43 ` Jan Ekström
2024-02-21 14:38 ` Niklas Haas
2024-02-21 14:50 ` epirat07
2024-02-27 18:57 ` Vittorio Giovara
2024-02-21 1:39 ` Jean-Baptiste Kempf
2024-02-21 3:13 ` Zhao Zhili
2024-02-21 12:50 ` Michael Niedermayer
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git