Re: Large patches in git repositories
On Wed, Oct 17, 2012 at 12:02:43PM +0300, Elan Ruusam??e wrote: > also question remains: why not just create new tarball? :) Might be interesting for those reading in Russian: http://www.altlinux.org/Руководство_по_gear (the article looks at several distinct types of package-in-git maintenance) PS: folks, if my references to ALT or pages in Russians hurt anyone's eye please don't hesitate to just tell so; my reason is that some of the pitfalls are known already, and some of them the hard way (it took us ~four years to understand that some RPMs are better maintained as SRPMS even now, for example). -- WBR, Michael Shigorin -- Linux.Kiev http://www.linux.kiev.ua/ ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: Large patches in git repositories
On 17.10.2012 04:36, Kacper Kornet wrote: >with addtional change, that move them to distfiles when you're done Probably it would be best if it was done by developers updating given patch. As they now whether it contains PLD specific changes or not. imho in that case one should create two patches: - one that updates from remote branch, - and the second that applies pld specific changes also question remains: why not just create new tarball? :) -- glen ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: Large patches in git repositories
On Tue, Oct 16, 2012 at 12:21:03AM +0300, Elan Ruusamäe wrote: > On 09/10/12 04:52, Kacper Kornet wrote: > >In my opinion a better idea is to keep in a package a script that > >generates the compressed patch,pushes it to dropin and updates > ># Patch-md5: > go on with this, and block huge patches from now on. if possible > point to this mail thread > as there are no actual objections, just some other ideas > and as since then nothing has changed, and such branch diffs are > updated in our git still Since now any commit that modifies patch large then 200 bytes will be blocked. There are two exceptions to this rule: 1) The large patch can be removed 2) The large patch can be white listed by putting its name in file .bigfiles in package directory. But please use this feature only when it is really necessary. > with addtional change, that move them to distfiles when you're done Probably it would be best if it was done by developers updating given patch. As they now whether it contains PLD specific changes or not. -- Kacper ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: Large patches in git repositories
On 09/10/12 04:52, Kacper Kornet wrote: In my opinion a better idea is to keep in a package a script that generates the compressed patch,pushes it to dropin and updates # Patch-md5: go on with this, and block huge patches from now on. if possible point to this mail thread as there are no actual objections, just some other ideas and as since then nothing has changed, and such branch diffs are updated in our git still with addtional change, that move them to distfiles when you're done -- glen ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: Large patches in git repositories
On Fri, Oct 05, 2012 at 05:59:42PM +0200, Paweł Sikora wrote: > On Friday 05 of October 2012 16:05:16 Kacper Kornet wrote: > > Recently one email to pld-cvs was blocked due to large size of generated > > diff. The "offending" file was gcc-branch.diff from crossmingw64-gcc > > which is 11M. > > Does this file include and PLD specific changes or is it just a diff > > between released version and tip of branch in some foreign (not PLD) > > repository? In latter case maybe it should be kept in the distfiles in > > compressed form? > > Right now there are following limits file sizes in git > > repositories: > > 1) unlimited - files *.patch, *.diff, *.spec > > 2) 200 bytes - text files > > 3) 20 bytes - all other files > > so very big patches are accepted. However I wonder if it should be the > > case. > > Another question is if we decide to move it to distfiles should the git > > repo be rewritten to not include history of this file and reduce repo > > size. > > There are other similar files. Below I include the list of every file > > larger then 1M which its maximum size in history: > > 24145161 gcc.git/gcc-branch.diff > > 22482085 crossmingw64-gcc.git/gcc-branch.diff > from branch.diff/pr-.patch point of view, ideally would be to have > an improved %patch macro called %something with support for mirrored > source svn/hg/git repositories (similary to distfiles). > e.g. in gcc.spec: > RepositoryX: svn://gcc... > %prep > // unpack released tarball > %somethingX revision-range-to-apply > such construciton should generate patch on the fly (basing on origin repo or > mirrored one) > and apply it. there's no sense in rolling big stable/branch patches through > versioned plain format. > one problem i can see is the .src.rpm (generated patch vs. archived .spec). Another problem is that if patch was generated on the fly it would broke the building without network connection. And it would be a waste of resources to generate it at every build. In my opinion a better idea is to keep in a package a script that generates the compressed patch,pushes it to dropin and updates # Patch-md5: -- Kacper ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: Large patches in git repositories
On Friday 05 of October 2012 16:05:16 Kacper Kornet wrote: > Recently one email to pld-cvs was blocked due to large size of generated > diff. The "offending" file was gcc-branch.diff from crossmingw64-gcc > which is 11M. > > Does this file include and PLD specific changes or is it just a diff > between released version and tip of branch in some foreign (not PLD) > repository? In latter case maybe it should be kept in the distfiles in > compressed form? > > > Right now there are following limits file sizes in git > repositories: > > 1) unlimited - files *.patch, *.diff, *.spec > 2) 200 bytes - text files > 3) 20 bytes - all other files > > so very big patches are accepted. However I wonder if it should be the > case. > > Another question is if we decide to move it to distfiles should the git > repo be rewritten to not include history of this file and reduce repo > size. > > There are other similar files. Below I include the list of every file > larger then 1M which its maximum size in history: > > 24145161 gcc.git/gcc-branch.diff > 22482085 crossmingw64-gcc.git/gcc-branch.diff from branch.diff/pr-.patch point of view, ideally would be to have an improved %patch macro called %something with support for mirrored source svn/hg/git repositories (similary to distfiles). e.g. in gcc.spec: RepositoryX: svn://gcc... %prep // unpack released tarball %somethingX revision-range-to-apply such construciton should generate patch on the fly (basing on origin repo or mirrored one) and apply it. there's no sense in rolling big stable/branch patches through versioned plain format. one problem i can see is the .src.rpm (generated patch vs. archived .spec). ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Large patches in git repositories
Recently one email to pld-cvs was blocked due to large size of generated diff. The "offending" file was gcc-branch.diff from crossmingw64-gcc which is 11M. Does this file include and PLD specific changes or is it just a diff between released version and tip of branch in some foreign (not PLD) repository? In latter case maybe it should be kept in the distfiles in compressed form? Right now there are following limits file sizes in git repositories: 1) unlimited - files *.patch, *.diff, *.spec 2) 200 bytes - text files 3) 20 bytes - all other files so very big patches are accepted. However I wonder if it should be the case. Another question is if we decide to move it to distfiles should the git repo be rewritten to not include history of this file and reduce repo size. There are other similar files. Below I include the list of every file larger then 1M which its maximum size in history: 24145161 gcc.git/gcc-branch.diff 22482085 crossmingw64-gcc.git/gcc-branch.diff 18974931 crossppc-gcc.git/gcc-branch.diff 15958604 kdenetwork.git/kdenetwork-branch.diff 8506730 twig.git/twig-php4.patch 5924877 kernel-xen.git/kernel-xen-xen.patch 5924877 kernel.git/kernel-xen-xen.patch 5197379 kernel.git/wanpipe-beta7-2.3.4.patch 4905399 kernel.git/xfs.patch 4620152 kernel.git/patch-2.4.21-pre1 4221290 X11.git/X11-6.8.2-20050205.patch 3952673 kernel.git/linux-2.6-pom-ng-branch.diff 3895669 kdepim.git/kdepim-branch.diff 3737296 X11.git/X11-6.8.2-final.patch 3556968 kernel.git/kernel-grsec_full.patch 3377961 libxml.git/libxml-remake.patch 3356609 kdebase.git/kdebase-branch.diff 3152510 kernel.git/linux-reiser4.patch 2938946 libsidplay2.git/libsidplay2-debian_fixes.patch 2922601 kernel.git/reiser4-2.6.13-mm3.patch 2894615 kernel.git/xen-3.0.4-2.6.19.patch 2759551 kdegraphics.git/kpdf2-kdegraphics-3.5.5.patch 2711506 kernel.git/linux-2.2.18-freeswan-1.8.patch 2701063 kernel.git/reiser4-2.6.12-mm1.patch 2673490 php.git/php-fpm.patch 2541668 kernel.git/linux-2.6-xen.patch 2540400 kernel.git/patch-2.6.0-test4-bk6 2519795 kernel.git/reiser4-for-2.6.24.patch 2514370 kernel-rcd.git/kernel-desktop-reiser4.patch 2514370 kernel-desktop.git/kernel-desktop-reiser4.patch 2495470 X11.git/X11-6.8.2-20050108.patch 2493922 kernel.git/kernel-reiser4.patch 2459257 kernel.git/reiser4-for-2.6.19-2.patch 2457813 kernel.git/reiser4-for-2.6.19-3.patch 2452206 kernel.git/reiser4-for-2.6.22-2.patch 2429860 kernel.git/reiser4-for-2.6.19.patch 2371564 kernel-bare-grsecurity.git/linux-2.6-grsecurity.patch 2358423 kernel.git/xen-3.0-2.6.16.patch 2352883 kernel-bare-vserver.git/linux-2.6.25-sk98lin.patch 2340654 kernel-bare-vserver.git/linux-2.6.24-sk98lin.patch 2340654 kernel-bare-grsecurity.git/linux-2.6.24-sk98lin.patch 2338567 kernel-bare-vserver.git/linux-2.6.22-sk98lin.patch 2296488 kernel.git/linux-2.6.12.3-xen.patch 2185090 kdelibs.git/kdelibs-branch.diff 2148046 kernel.git/linux-2.6-sk98lin.patch 2148046 kernel-bare-grsecurity.git/linux-2.6-sk98lin.patch 2048956 gmime.git/gmime-cvs20020719.patch 2048956 gmime22.git/gmime-cvs20020719.patch 2015328 kernel.git/patch-2.6.0-test4-bk5 1999675 kernel.git/linux-2.6-sk98lin_v10.0.4.3.patch 1926871 vim.git/vim-bonobo-20050909.patch 1876608 kernel.git/linux-2.4.20-rc1-USB.patch 1876079 kernel.git/linux-2.4.20-rc3-USB.patch 1851445 kernel.git/linux-2.6-sk98lin-8.31.2.3.patch 1851445 kernel-desktop.git/linux-2.6-sk98lin-8.31.2.3.patch 1792119 kernel.git/kernel-preempt-rt.patch 1790103 kernel.git/patch-2.6.14-rt22 1766583 kernel-desktop.git/kernel-desktop-preempt-rt.patch 1766562 kernel-rcd.git/kernel-desktop-sk98lin.patch 1766562 kernel.git/linux-2.6-sk98lin_8.41.2.3.patch 1766562 kernel-desktop.git/kernel-desktop-sk98lin.patch 1739872 kdebase.git/kdebase-3.2branch.diff 1735782 kernel.git/patch-2.6.0-test4-bk4 1725239 kernel.git/linux-2.6-sk98lin-8.36.1.3.patch 1676643 glibc.git/glibc-cvs20070210.patch 1644346 yum.git/yum-HEAD.patch 1629384 kernel.git/patch-2.6.14-rt3 1625825 kernel.git/patch-2.6.14-rt2 1623710 kernel.git/patch-2.6.14-rt1 1593049 grub.git/grub-pxe.patch 1573396 kernel.git/patch-2.6.14-rc5-rt3 1554097 kernel.git/patch-2.6.14-rc4-rt1 1545730 kernel.git/patch-2.6.14-rc4-rt6 1527464 lighttpd.git/lighttpd-branch.diff 1524889 emacs.git/emacs-CAN_2005_0100.patch 1520908 gdb.git/gdb-archer.patch 1490794 kernel.git/linux-2.6-adp94xx.patch 1423798 mutt.git/mutt-nntp.patch 1421472 kernel.git/linux-2.6-sk98lin-8.32.2.3.patch 1404382 kernel.git/alsa-1.0.6.patch 1402800 nvi.git/nvi.patch 1398887 agsync.git/agsync-debian.patch 1393540 kdewebdev.git/kdewebdev-branch.diff 1386452 kernel.git/mISDN-2004-11-20.patch 1313600 kernel.git/linux-2.6-sk98lin-8.18.2.2.patch 1313431 kernel.git/kernel-2.6.11.7-sk98lin-8.16.patch 1313099 kernel.git/linux-2.6.13.1-grsec.patch 1309655 kernel.git/linux-2.6-sk98lin-8.16.2.3.patch 1301525 gcc.git/gcc-3.3.1-propolice.patch 1286532 ghostscript-esp.git/ghostscript-esp-svn.patch 1281646 kernel.git/linux-net-2.6.19.patch 1274353 nvi.git/nvi-header.patch 1257631 kernel.git