[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

"Repair Move" for splitting one file into multiple files

From: Karl Hendrikse <karlhendrikse_at_gmail.com>
Date: Tue, 27 Sep 2011 14:05:09 -0700 (PDT)

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 (+)".

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2846878

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-09-28 06:03:45 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.