There has been reports about commits (and merge?) failing with "You have to update your working copy first" but without the subsequent offer to update.
Today I stumbled on one such case. I traced it to CommitCommand::IsOutOfDate not checking for error 155011 (SVN_ERR_WC_NOT_UP_TO_DATE).
Is there a particular reason not to include this in "IsOutOfDate"?
I'm suggesting a simple patch:
--- src/TortoiseProc/Commands/CommitCommand.cpp (revision 29480)
+++ src/TortoiseProc/Commands/CommitCommand.cpp (working copy)
@@ -62,6 +62,7 @@
const apr_status_t errorStatus = pErr->apr_err;
if ((errorStatus == SVN_ERR_FS_TXN_OUT_OF_DATE) ||
(errorStatus == SVN_ERR_RA_OUT_OF_DATE) ||
+ (errorStatus == SVN_ERR_WC_NOT_UP_TO_DATE) ||
(errorStatus == SVN_ERR_FS_CONFLICT))
(And yes, I've got commit bits and can do this myself, but on the principle of knowing what I don't know, I'm asking before committing something stupid).