Emilio Lopes wrote: > Sometimes I choose to implement a feature in several independent steps. A > simple example: > > - patch 40 implemented the first step > > - patch 41 was an update from CVS > > - patch 42 implement the second step of the new feature > > Now I want to send a single *context* diff (generated with 'diff -c') > generated out of changesets 40 and 42, ignoring patch 41 of course.
I don't think that's a generally solvable problem if you require that changes introduced by 41 not appear. 42 may depend on the changes introduced by 41. > How, if at all, can I accomplish this with tla? One option is to take a CVS tree, replay patch-40 and patch-42 into it, and do normal diff against a revlib or pristine tree e.g. tla get [EMAIL PROTECTED]/project--cvs--0 workdir tla replay -d workdir [EMAIL PROTECTED]/project--devel--0--patch-40 tla replay -d workdir [EMAIL PROTECTED]/project--devel--0--patch-42 diff ... With baz, you could do one merge instead of two replays baz apply-delta --diff3 [EMAIL PROTECTED]/project--devel--0--patch-40 [EMAIL PROTECTED]/project--devel--0--patch-42 and then do the diff. It's a lot easier if you don't have patch-41 in the middle. Then you can just diff two revlib trees: diff -r $(tla library-find [EMAIL PROTECTED]/project--devel--0--patch-40) $(tla library-find [EMAIL PROTECTED]/project--devel--0--patch-42) It's also easier if you use unified diffs instead of context diffs, because the output of 'tla changes -diffs ' or 'tla delta --diffs' is a valid patch. Aaron -- Aaron Bentley Director of Technology Panometrics, Inc. _______________________________________________ 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/
