Выражение *.cs содержит подстановочный символ, который будет замещён до выполнения svn комманды, и под который попадают только файлы содержащие в имени .cs в текущей папке, а также подпаках содержащих в имени .cs, например:
.
|-- src.cs
|-- subdir.cs
| `-- src.cs
Под маску * попадают все файлы из подпапок потому, что также все подпапки попадают под эту маску.
Укажите подпапки, которые содержат файлы с исходниками, например:
svn add src/*.cs src/csfiles/*.cs
Замещением подстановочных символов занимается командный интерпретатор, а не выполняемая команда, в данном случае svn. Поэтому, какие подстановочные символы - *, ? [, ] и т.д. - и как они замещаются, зависит от используемого командного интерпретатора. На обычных ОС - это sh, bash и им подобные, на других ОС - CMD, PowerShell, или также bash (если установлены Cygwin, MinGW и т.п.). Не ожидайте одинакового поведенния одной и той же команды, даже на одной системе, если пользуетесь разными интерпретаторами.
Если подпапок с исходниками много, и надо рекурсивно найти все файлы для добавления в svn, то решение зависит также от используемого командного интерпретатора.
Например, в CMD где-то так (в batch-скрипте используйте переменную цикла %%f):
for /f %f in ('dir /s /b /a *.cs') do svn add "%f"
*.csничего не попадает, у вас же нет подпапок "subdir.cs". Указывайте подпапки "subdir/*.cs", если их много, то делайте циклом. – 0xdb Nov 09 '17 at 08:04