The (new in 1.8) commit option --include-externals (see
http://svn.haxx.se/dev/archive-2011-08/0620.shtml) doesn't work properly with
the --depth option when targeting a directory external.
For example:
>svn pl -vR
Properties on '.':
svn:externals
^/A/B/E X/XE
>svn st
X X\XE
Performing status on external item at 'X\XE':
M
C:\SVN\src-trunk\Debug\subversion\tests\cmdline\svn-test-work\working_copies\externals_tests-37\X\XE
M
C:\SVN\src-trunk\Debug\subversion\tests\cmdline\svn-test-work\working_copies\externals_tests-37\X\XE\alpha
>svn ci -m "commit an external" X --depth=immediates
>
The commit works as expected with depth=infinity:
>svn ci -m "commit an external" X --include-externals
Sending X\XE
Sending X\XE\alpha
Transmitting file data .
Note that file externals of the commit target are committed:
>svn st
M X A\C\file-external
X X\XE
Performing status on external item at 'X\XE':
>svn ci --include-externals A\C --depth immediates -m ""
Sending A\C\file-external
Transmitting file data .
Committed revision 7.
externals_tests.py 37 'commit --include-externals --depth=immediates' covers
this issue.