Karl Fogel
2018-06-29 02:29:02 UTC
I'm pretty sure this is a bug, but wanted to check here first before filing a ticket.
Normally, if you accidentally use a local versioned file path as a log message, you will get an error:
$ svn --version
svn, version 1.10.0 (r1827917)
[...]
$ svn commit -m locally_versioned_path
svn: E205005: The log message is a pathname (was -F intended?); use '--force-log' to override
$
It doesn't matter whether 'locally_versioned_path' is modified or not. It doesn't have to be part of the commit; the mere fact that it's a path under version control is why SVN decides it likely wasn't intended to be the log message.
Now try this:
$ svn status
$ svn rm locally_versioned_path
D locally_versioned_path
$ svn commit -m locally_versioned_path
Deleting locally_versioned_path
Committing transaction...
Committed revision 1729.
$
Oops :-).
Because the *working file* is no longer there, Subversion fails to decide that the path likely wasn't intended to be the log message -- even though obviously Subversion should come to the same conclusion here that it would have come to if the path were not locally deleted.
If we agree this is a bug, I'll file it. Maybe I'll even fix it -- no promises; depends how much I'm able to sleep on the plane this weekend :-). In any case, I first wanted to make sure there is consensus that this is a bug. Do we agree?
Best regards,
-Karl
Normally, if you accidentally use a local versioned file path as a log message, you will get an error:
$ svn --version
svn, version 1.10.0 (r1827917)
[...]
$ svn commit -m locally_versioned_path
svn: E205005: The log message is a pathname (was -F intended?); use '--force-log' to override
$
It doesn't matter whether 'locally_versioned_path' is modified or not. It doesn't have to be part of the commit; the mere fact that it's a path under version control is why SVN decides it likely wasn't intended to be the log message.
Now try this:
$ svn status
$ svn rm locally_versioned_path
D locally_versioned_path
$ svn commit -m locally_versioned_path
Deleting locally_versioned_path
Committing transaction...
Committed revision 1729.
$
Oops :-).
Because the *working file* is no longer there, Subversion fails to decide that the path likely wasn't intended to be the log message -- even though obviously Subversion should come to the same conclusion here that it would have come to if the path were not locally deleted.
If we agree this is a bug, I'll file it. Maybe I'll even fix it -- no promises; depends how much I'm able to sleep on the plane this weekend :-). In any case, I first wanted to make sure there is consensus that this is a bug. Do we agree?
Best regards,
-Karl