How does Tortoise’s non recursive commit work?

Found by Google how to fix it: press F5 in the commit window (not in the “warning popup”)

See http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2831045 for details.

On 26.08.2011 22:39, Ryan J Ollos wrote:

For several months now I’ve been seeing the following dialog box appear when
initiating Commit. It frequently happens when attempting to commit following
a merge.

The thing I have noticed lately however is that if I Cancel and then
manually refresh the file list (F5), I don’t see the message again when
initiating the commit a second time. The commit seems to succeed fine and
with no further problems.

The commit dialog monitors the working copy in a background thread for
change notifications. Such notifications are sent by the OS in case
files are modified/moved/renamed/…
If such a notification is received, the commit dialog first does a few
checks so it can drop most of them. If the notification indicates that a
file that is not checked and not visible in the commit dialog has
somehow changed, it switches back to non-recursive committing.
That’s because if you have e.g. a file open in another editor and save
your changes while the commit dialog is open, then that file would get
committed as well even though you haven’t checked it in the commit
dialog (it doesn’t show up until you refresh the dialog with F5).

So if you see that warning dialog often, please check if there’s another
tool/app running which modifies files in your working copy.

And as you noticed: if you hit F5, that ‘non-recursive flag’ is reset
because after a refresh, you see all the files again – even the ones you
modified after you started the dialog.

Stefan

Leave a Comment