Задача svncommit msbuild не удалась, потому что командная строка слишком длинная

Я использую задачу svncommit из проекта MSBuild Community Tasks. К сожалению, у меня есть довольно большая куча файлов для фиксации, и это не удается с этой ошибкой:

Командная строка для задачи "SvnCommit" слишком длинная. Командные строки длиннее 32000 символов, скорее всего, не будут работать. Попробуйте уменьшить длину командной строки, разбив вызов "SvnCommit" на несколько вызовов с меньшим количеством параметров для каждого вызова.

Я попытался просто указать параметр Targets на родительскую папку, но, похоже, ему нужны файлы. Могу ли я каким-либо образом сказать ему, чтобы он просто зафиксировал все ожидающие файлы в папке?


person Glenn Slaven    schedule 29.03.2012    source источник


Ответы (1)


На самом деле упомянутая ошибка была специфичной для resgen.exe. В данном случае это просто потому, что используемая вами задача буквально передает параметры в .exe, а не использует файл ответов. Windows не будет принимать более 32 КБ параметров для процесса. Вот почему в поставляемых задачах MSBuild всегда используются файлы ответов.

(В случае упомянутой ошибки они использовали ресген 3.5, который их не поддерживал, и пытались обойти это, многократно вызывая его с подмножеством файлов. К сожалению, математика была неправильной.)

Вам нужно будет либо попросить исправить задачу для использования файлов ответов, либо сократить пути к файлам, которые вы используете, возможно, переместив их ближе к корню диска или используя «subst».

Дэн (разработчик MSbuild)

person cheerless bog    schedule 01.04.2012