Translate
|
|
Julian H. Stacey's
Automatic Source Variant Maintenance Tools
Automatic maintenance of local variants of distribution
sources:
I have many local patches, maintained applicable against
generic global sources. The application process is as automatic
as I can make it, Here's how:
I keep 2 copies of Src/ & Ports/ trees: Ref/ & Work/
.
Ref/ (but not Work/) is maintained by automatically applying
CTM deltas received via mail & diverted by my .procmailrc
CTMs pass via /etc/aliases to: bsd/jhs/bin/local/mail/ctm-freebsd-src-cur-incoming
which also archives the deltas, so I can also manually apply
them to Work/ using cut & paste from the output of: bin/ctms
When I occasionally want to start afresh, I copy Ref/ to
Work/, & run ~/bin/.csh/customise
This applies my trees of patches & new files.
All of which are indexed at: here
My web directories are
maintained by rdist.
Though I post diffs & new files to the source code
project mail lists, not all get committed, some aren't of
generic applicability; hence an ever increasing stockpile, now
auto maintained, some I'll later convert to send-pr
submissions, some already are send-pr submissions.
A comparison with a method based on cvs -q update -Pd
The 2 methods have some similarity & some differences: Both
enable us to apply public updates to locally modified source
trees,
- Method cvs -q update -Pd stores local changes inside a
120M checked out locally modified copy of src, If one has
commit privilege, one can continue with one's own tree till
something is worth committing, then update freefall CVS with
new bits.
- My method stores my master copy of changes as diffs in a
seperate 700K tree. As I don't have commit privilege, it's
harder to get my stuff committed, so to make it easily
applicable to my own tree, & available to others, I
regularly rdist this diffs tree to my freefall web
directory.
|