Re: Large patches in git repositories

2012-10-17 Thread Michael Shigorin
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

2012-10-17 Thread Elan Ruusamäe

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

2012-10-16 Thread Kacper Kornet
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

2012-10-15 Thread Elan Ruusamäe

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

2012-10-08 Thread Kacper Kornet
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

2012-10-05 Thread Paweł Sikora
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

2012-10-05 Thread Kacper Kornet
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