It is possible to add a file twice
$ svnadmin create repo
$ svn co http://localhost:8888/repo -d ~/wc
$ echo foo > wc/foo
$ svn add wc/foo
A wc/foo
$ svn ci -m "" wc
Adding wc/foo
Committed revision 1.
$ svn up -r0 wc
D wc/foo
_U wc
$ echo foo > wc/foo
$ svn add wc/foo
A wc/foo
$ svn ci -m "" wc
Adding wc/foo
Committed revision 2.
I think the second commit should fail, with some sort of conflict.
With directories the second commit times-out, because the server process is
stuck in what I assume is an infinite loop. This should also be a conflict.
$ svnadmin create repo
$ svn co http://localhost:8888/repo -d ~/wc
$ svn mkdir wc/foo
A wc/foo
$ svn ci -m "" wc
Adding wc/foo
Committed revision 1.
$ svn up -r0 wc
D wc/foo
_U wc
$ svn mkdir wc/foo
A wc/foo
$ svn ci -m "" wc
svn_error: #21086 : <RA layer request failed>
commit failed: wc locks and tmpfiles have been removed.
svn_error: #21086 : <RA layer request failed>
commit failed: while sending tree-delta to repos.
svn_error: #21086 : <RA layer request failed>
MKCOL of /repo/$svn/wrk/aa5422ca-d11d-b211-a593-b3100b122f1a/foo: timed out
waiting for server