<p>Let's say I have committed some bad changes to Subversion repository. Then I commit good changes, that I want to keep.</p>

<p>What would be easiest way to roll back those bad changes in Eclipse, and keep the good changes? Assuming that files relating to bad changes are not same as those relating to the good changes. How things change if good changes were made to same files as bad changes?</p>

<p>I am mostly looking a way to do this via Eclipse plugins (Subclipse or Subversive) but commandline commands are also interesting.</p>

You have two choices to do this.
The Quick and Dirty is selecting your files (using
ctrl
) in Project Explorer view, right-click them, choose
```
Replace with...
```
and then you choose the best option for you, from
```
Latest from Repository
```
, or some
```
Branch
```
version. After getting those files you modify them (with a space, or fix something, your call and commit them to create a newer revision.
A more clean way is choosing
```
Merge
```
at team menu and navigate through the wizard that will help you to recovery the old version in the actual revision.
Both commands have their command-line equivalents:
```
svn revert
```
and
```
svn merge
```
.