[cvsnt] Manually renaming files
Gavin Kinsey
gavin.kinsey at accutest.co.uk
Wed Aug 7 09:28:07 BST 2002
Bo Berglund wrote:
> On Tue, 6 Aug 2002 16:16:01 +0100, "Gavin Kinsey"
> <gavin.kinsey at accutest.co.uk> wrote:
>
>
>>I have a rare opportunity tommorrow to access the machine the cvsnt is
>>running on and am going to use the opportunity to upgrade to the latest
>>version.
>>
>>I would also like to fix some of the wrongly named (mainly ones with spaces
>>in) and positioned files. I know the only way to do this while retaining
>>revision histories is manual edits, my question is. Is it as simple as
>>moving/renaming the files in the repository or do any files need to be
>>altered (something like Entries files)?
>
> You have to be a bit careful with this....
> First of all, think again!
> It might be better to retire the entire module as a backup and instead
> export the head revision to a sandbox (export means that the CVS
> subdirs do not get created). Then cvs import this state after making
> the naming adjustments to a new module that is going to be the one you
> continue to work on. This way you can go back to the old module if
> need be and check out a working tagged copy.
> All this can be done from the client side too)
Still, this will lose the revision history of the files. I would
consider this if there were many files that needed changing but for the
few I need to do I think a manual edit is the best way.
> Bu, if you are still going to rename modules (=directories) or files
> within modules you have to be sure that *noone* has any files checked
> out when you do this.
>
> So you must tell everybody to commit all of their edits and abandon
> their sandboxes totally.
I have made sure of this anyway as the CVSROOT settings are changing
(and I don't trust most people to use the macro that changes CVSROOT in
the checked out files properly).
> Then you can edit the directory and file names in the repository after
> which the developers have to check out their working copies again to
> fresh sandboxes.
> While you do the renaming you must of course shuit down the CVSNT
> service so noone can come in while you work...
Yep, have to do that too as am upgrading the server. So I will shut off
the old server, make a complete backup of the repository (just in case)
then edit all the filenames, there are only about 40 files that need
changing. Then, finally, install the latest version of cvsnt.
> This covers one aspect of the job, but you may well see that the final
> result is not that great after all. It all depends on the structure of
> your files. If like me you are storing multifile software projects
> chances are that project files and makefiles will break when you do
> this, files mentioned in them are no longer available and if you check
> out old revisions on tags the source can no longer be built
> successfully.
It's okay, these files are all checked in by non-programmers, which may
be why they didn't follow the naming rules I told them to :-). They are
the support files for the projects, specification documents mainly and
there are no dependancies on them as far as I can tell.
More information about the cvsnt
mailing list