On Tue, Sep 27, 2011 at 17:05, Karl Hendrikse <karlhendrikse_at_gmail.com> wrote:
> Frequently I perform refactoring tasks that involve splitting one source file into many smaller source files. I just do this in Visual Studio, then correct the ancestry later with TortoiseSVN before committing. My process is this:
>
> 1. (Not using SVN commands) Split Foo.h to Bar0.h, Bar1.h, Bar2.h and Bar3.h.
> 2. Open the TortoiseSVN commit dialog. Foo.h is now "missing", BarX.h are all "non-versioned".
> 3. Select Foo.h and Bar1.h, right click and choose "Repair Move". Foo.h is now "deleted", Bar1.h is now "added (+)".
> 4. Right click Foo.h, choose "Revert". Foo.h disappears from the list.
> 5. Browse to Foo.h using Windows Explorer, and delete the file (not SVN delete).
> 6. Hit F5 to refresh the commit dialog. Foo.h is "missing" again.
> 7. Repeat steps 3-6 for Bar2.h, Bar3.h and Bar4.h.
>
> There has got to be a better way to achieve this. Instead of the "Repair Move" command requiring one "missing" file and one "unversioned" file, it should work with one "missing" file and any number (>= 1) "unversioned" files. This would make splitting a file into smaller files very easy. The steps would be this:
>
> 1. (Not using SVN commands) Split Foo.h to Bar0.h, Bar1.h, Bar2.h and Bar3.h.
> 2. Open the TortoiseSVN commit dialog. Foo.h is now "missing", BarX.h are all "non-versioned".
> 3. Select Foo.h and all the BarX.h, right click and choose "Repair Move". Foo.h is now "deleted", all the BarX.h are now "added (+)".
Install AnkSVN, the SVN plugin for Visual Studio. All your moves,
deletes, etc. should be handled then. You're making it harder on
yourself by using a tool which doesn't tell the WC about your file
changes.
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2847198
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-09-28 12:49:32 CEST