'Lo.

It's fairly common, in git, to do this sort of thing:

1. Make a load of unrelated changes.
2. Use git add --patch to stage commits consisting of
   sets of the changes.

The reason this doesn't work to well is probably obvious to most
fossil users: You don't know that each set of separate staged changes
compiles and works properly, because you're not compiling against a
clean working copy with only those individual changes. I don't know
if git has a better way of doing things now, as it's been quite a
while since I used it.

The somewhat better analogous sequence in fossil is:

1. Make a load of unrelated changes.
2. fossil stash
3. fossil stash diff > stash.diff
4. Use some external tool to interactively apply bits of stash.diff
5. Compile, run unit tests, commit if everything works.
6. If there's anything left in stash.diff, repeat step 4.

This is "better" because it means each set of changes are tested
against a clean copy of the source (so each subset of unrelated
changes can be shown to not be dependent, etc).

The main problem: Where is the tool to achieve step 4? I've looked
and am not aware of any standalone tool that can essentially break
up a patch and interactively apply parts of it to a directory. I
personally use the 'Team -> Apply patch' tool built into Eclipse,
but I'm curious as to what other people to do achieve the above.

I realise that often the answer is "don't make a lot of unrelated
changes at once", but for the sake of discussion, let's assume that
this is sometimes unavoidable (and undesirable).

M
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to