[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

how NOT to steal patches from upstream CVS



$ svn blame xfree86/branches/4.3.0/sid/debian/patches/000_stolen_from_HEAD.diff
   527    branden $Id$
   527    branden 
     5     daniel A few improvements from XFree86 HEAD, including:
     5     daniel   * Fix overlapping memmove's in imake.
     5     daniel   * More strict checking of replies (mainly wrt length) in core X11 handling.
     5     daniel   * Fix segfaults in rendition and trident drivers.
     5     daniel   * Drivers shouldn't have to care about recolouring ARGB cursors.
   240    branden   * Fix Xv regression in trident driver.
   452     daniel   * Implement two missing relocations in the ia64 module loader.
   758     daniel   * Add '#define rate period', in line with a kernel change.
     5     daniel
[...]

The above is very bad.  It makes life hard after the next upstream
release of XFree86 happens and we need to figure out which things stolen
from HEAD we can drop.  (Yes, diff is supposed to recognize
already-applied patches, but it's not perfect, and it certainly can't be
relied upon when changes have been made subsequent to the ones we
steal.)

We want to be careful about this sort of thing because regressions are
bad.  Hopefully we all understand why.

A different format we find in the same file is better:

   648    branden (xc/lib/Xi/XExtInt.c,
   648    branden  xc/lib/Xi/XGetVers.c,
   648    branden  xc/lib/Xi/XIint.h):
   648    branden   282. Fixing deadlock in libXi - when is called _XLockDisplay() twice -
   648    branden   when calling a Xi function that calls XGetExtensionVersion() (Bugzilla
   648    branden   #260, Bastien Nocera, Owen Taylor).
   648    branden
   760    branden (xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c,
   760    branden  xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c,):
   760    branden   Build fix when using Linux kernel 2.6 headers.  (Marc La France, via
   760    branden   Michel Dänzer)
   760    branden
   891    branden (xc/nls/locale.alias):
   891    branden   Add ko_KR.EUC-KR (Jungshik Shin).
   891    branden

That's better.  We update the patch descriptions in chronological order,
identify the files changed, and grab the text of the upstream commit
logs, which is particularly handy for grepping a mailbox full of
upstream CVS commit mails.

We might do better still, and identify the revision of each file from
which we're stealing patches.

Here's a suggested format:

xc/lib/Xi/XExtInt.c@3.8
xc/lib/Xi/XGetVers.c@3.5
xc/lib/Xi/XIint.h@3.2
  282. Fixing deadlock in libXi - when is called _XLockDisplay() twice -
  when calling a Xi function that calls XGetExtensionVersion() (Bugzilla
  #260, Bastien Nocera, Owen Taylor).

Here we use Subversion-style @rev syntax for CVS's abominable per-file
revision numbers.  Comments?

-- 
G. Branden Robinson                |    You should try building some of the
Debian GNU/Linux                   |    stuff in main that is
branden@debian.org                 |    modern...turning on -Wall is like
http://people.debian.org/~branden/ |    turning on the pain. -- James Troup

Attachment: signature.asc
Description: Digital signature


Reply to: