On Thu, Oct 11, 2012 at 06:38:57PM -0400, Ehsan Akhgari wrote:
> On 2012-10-11 6:36 PM, Mike Hommey wrote:
> >On Thu, Oct 11, 2012 at 06:14:51PM -0400, Ted Mielczarek wrote:
> >>On Thu, Oct 11, 2012 at 4:20 PM, Ehsan Akhgari <ehsan.akhg...@gmail.com> 
> >>wrote:
> >>>What I really don't want us to do is to prohibit people from fixing things
> >>>in the imported code.  That is the absolute worst situation we can face 
> >>>with
> >>>a given piece of code, as we already have learned painfully.
> >>
> >>This should absolutely be at the discretion of the maintainer of the
> >>imported code in our tree. From personal experience, allowing local
> >>changes to land in Breakpad before they are landed upstream has caused
> >>huge headaches. Our in-tree copy of Breakpad was nearly 2 years
> >>out-of-date because of a few large patches that landed in support of
> >>OOP work and were difficult to upstream.
> >
> >Same experience with jemalloc, which is why the rule is to have things
> >applied upstream first.
> 
> What is the nature of this problem?  Is it the difficulty to reapply
> the patches when pulling new code from upstream?  Note that I'm
> mostly talking about fixing small problems in our copy, not doing
> major architectural changes.

Experience shows that adding patches to our copies of third party
libraries lead to, at least:
- long-time forks
- undocumented patches (no corresponding patch file in the tree to
  reapply = fun to handle upgrades, or broken upgrades if unnoticed)
- outdated patches (a .patch exists but doesn't correspond to what is in
  the tree = most likely broken upgrades)
- unapplied patches after an upgrade (= broken upgrade)

I have seen multiple iterations of each of the above. This is not a
theoretical problem. And some even happened with things that are much
less third-party than most third-party code we have in the tree: nspr
and nss.

Mike
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to