summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2006-12-04 20:30:30 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2006-12-04 20:30:30 +0000
commit029a3c6b01e366e46dd478ad8ad722a692214a11 (patch)
tree4ad5054093ee8d42961c66e6f3ab42a7c0268d0f /HACKING
parent1359d613135cc686116a211cef20e2cadcec84eb (diff)
downloadgst-libav-029a3c6b01e366e46dd478ad8ad722a692214a11.tar.gz
HACKING: Update the hacking info with information about how to prepare your quilt setup to hack on the ffmpeg checkout
Original commit message from CVS: * HACKING: Update the hacking info with information about how to prepare your quilt setup to hack on the ffmpeg checkout
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING27
1 files changed, 21 insertions, 6 deletions
diff --git a/HACKING b/HACKING
index fecea5e..da13515 100644
--- a/HACKING
+++ b/HACKING
@@ -19,15 +19,15 @@ of a given day.
On head, the following things have been commited on top of this:
* patches/, which is a directory with a set of patches, and a series file
listing the order, as generated by quilt
-* .pc/, which is a tree of files that quilt uses to keep control of its state.
- It contains a list of applied patches, and one directory per patch,
- containing a tree of hardlinked files that were added to the patchset, and
- a .pc file listing all files part of the patchset.
* the result of having all these patches commited (ie, quilt push -a) to the
ffmpeg tree.
-Both the actually patched CVS ffmpeg code as well as the .pc dir need to be
-commited to CVS so the state of quilt wrt. the source is in sync.
+The patched CVS ffmpeg code needs to be commited to CVS so that a checkout
+gives the patched code
+
+The Quilt state .pc hidden directory must NOT be committed to CVS, because
+having CVS subdirs inside it confuses the hell out of quilt and causes it to
+start storing diffs against CVS Entries files, and all hell breaks loose
THE WARNING
-----------
@@ -60,6 +60,21 @@ THE WAY
probably made a mistake. To manage the state correctly, it is vital that
none of the files are unknown to CVS.
+FIRST TIME:
+ - The quilt state is kept in a hidden dir in the gst-libs/ext/ffmpeg dir,
+ but this hidden dir can't be kept in CVS because it confuses patch. Hence
+ when you get a clean gst-ffmpeg checkout you have an ffmpeg tree with
+ patches applied, but no quilt metadata to modify it with.
+
+ - You need to create the quilt metadata in your checkout:
+ 1) Unroll the quilt patches. In gst-libs/ext/ffmpeg, run:
+
+ tac patches/series | while read p; do patch -p1 -R < "patches/$p"; done
+
+ 2) Now, push all the patches to quilt and it will apply them, but now with
+ the appropriate stored metadata:
+
+ quilt push -a
- if you want to add a file to a patchset, you need to:
- be in the right patchset