CVS and refactoring operations


When I perform a "refactor" operation in a project using CVS, the refactor
works, but only affects local files. The old file is removed locally, but
remains in the CVS repository (no "cvs remove" command is executed). The
new file is created locally, but is not automatically added (no "cvs add"
command is executed).

At present, I worked around the "not added" problem by right-clicking the
file icon of the file(s) after refactoring, and selecting the CVS->Add popup
menu option, and worked around the "not removed" problem by opening a
command line and logging into CVS, then typing the appropriate remove
command(s) ; this is very tedious.

This becomes very annoying when refactoring multiple files, or renaming
entire packages (especially those with subpackages)!

It's quite surprising that this doesn't seem to work or be implemented,
given that adding new files or deleting older items automatically works with
the repository.

Any workarounds, or plans to support this?

- Chris


1 comment
Comment actions Permalink

and worked around the "not removed" problem by opening a
command line and logging into CVS, then typing the appropriate remove
command(s) ; this is very tedious.


Removed files are still visible in the CVS panel. You can open the CVS panel
and do the remove command from there (the same way as you are doing the the
add command now).

This becomes very annoying when refactoring multiple files, or renaming
entire packages (especially those with subpackages)!


Renaming packages never worked well with idea - no doubt because cvs is
braindead regarding directories.

There's a tracker request for cvs to handle package renaming.

Any workarounds, or plans to support this?


Do you have the cvs add checkbox checked (in the
ProjectProperties->LCVS->CVS->Advanced tab)?. I think that if the checkbox
is enabled, adding and removing files is done automatically.

As I do all the coding/testing in one go and only then change the cvs system
I have this checkbox unchecked.

Carlos


0

Please sign in to leave a comment.