Robert Anderson wrote:
A patch based rcs like arch would be far more useful if people actually made logically distinct, clean patches with it. This is _much_ harder than it should be. There's no tools for it. There really ought to be.
You can always use quilt on top of arch.
The work pattern of "think of clean, logically distinct feature, code it, commit it" doesn't exist in the wild, at least not in my world. Closer to reality is: start working, realize you really need to factor out a helper function first, return to working, clean up some ugliness in unrelated code that you happened to scroll by, return to working, implement a bunch of debug/diagnostic junk that you'll want out later, return to working, repeat various loosely related tasks until you really shouldn't go any further without committing if you have any remaining self respect.
Workflow looks (something) like this:
i) think of a clean logically distinct feature:
$ quilt new feature.diff
hack hack hack
ii) factor out a helper function:
$ quilt refresh; quilt pop
$ vi patches/feature.diff
(cut hunks from here and paste into a new file: helper.diff)
$ { echo 'helper.diff'; cat patches/series; } > tmp
$ mv tmp patches/series
$ quilt push 2
return to working
iii) clean up some ugliness:
$ quilt refresh; quilt new beautify.diff
hack hack hack
$ quilt refresh; quilt pop
etc etc... you get the idea. When you have a stack of patches in
quilt that you are ready to commit (maybe tossing the debug gunk),
move them out of quilt into arch:
$ quilt pop -a
$ quilt push; tla commit && quilt delete
$ quilt push; tla commit && quilt delete
...
Cheers,
Gary.
--
Gary V. Vaughan ())_. [EMAIL PROTECTED],gnu.org}
Research Scientist ( '/ http://tkd.kicks-ass.net
GNU Hacker / )= http://www.gnu.org/software/libtool
Technical Author `(_~)_ http://sources.redhat.com/autobook
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Gnu-arch-users mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/
