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
CTM deltas 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 Internet web directories are updated
from local off line masters by /usr/ports/net/rdist6.
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
[but cvs
is now gone, & git & something else are
trendy) (before cvs was trendy,
sccs was trendy, but that may have been with an older BSD, not
FreeBSD ? my memory fades).
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.
|