This is a problem in general with Centralised SCM systems and OSS
(when your not a committer). There are three general scenarios:
1. Your changes are improvements to the existing patch. In this case
the best/simplest thing is to create a new patch containing all of
your changes.
2. Your changes are logically independent of the previous patch but
touch the same files. Using SVN - there is no good solution for this
situation.
3. Your changes are independent logically and physically. In this case
it's simply a matter of not including unrelated changes in patch files
when you create them. SVN 1.5 has a cool changelist feature which
helps with this.
I've previously use SVK (a distributed svm layer on top of SVN) to
manage changes like#2 - this allows me to checkin changes to a local
repository. These days cool kids might use git-svn - but either of
these tools has a learning curve etc and none of them completely solve
the problem of interrelated but independent changes.
Another alternative that I've sometimes resorted to is having multiple
working copies of a project. e.g.
c:\dev\nhcontrib-linq-IUpdateable
c:\dev\nhcontrib-linq-Expansion
HTH,
j.