Поскольку этот пост помечен Windows, я подумал, что смогу найти решение для Windows. Я хотел автоматизировать процесс, и я сделал файл bat. Я сопротивлялся созданию console.exe в C #.
Я хотел добавить любые файлы или папки, которые не добавляются в мой репозиторий, когда я начинаю процесс фиксации.
Проблема многих ответов заключается в том, что они перечисляют неверсионные файлы, которые следует игнорировать согласно моему списку игнорирования в TortoiseSVN .
Вот моя настройка хука и командный файл, который делает это
Скрипт черепахового крючка:
"start_commit_hook".
(where I checkout) working copy path = C:\Projects
command line: C:\windows\system32\cmd.exe /c C:\Tools\SVN\svnadd.bat
(X) Wait for the script to finish
(X) (Optional) Hide script while running
(X) Always execute the script
svnadd.bat
@echo off
rem Iterates each line result from the command which lists files/folders
rem not added to source control while respecting the ignore list.
FOR /F "delims==" %%G IN ('svn status ^| findstr "^?"') DO call :DoSVNAdd "%%G"
goto end
:DoSVNAdd
set addPath=%1
rem Remove line prefix formatting from svn status command output as well as
rem quotes from the G call (as required for long folder names). Then
rem place quotes back around the path for the SVN add call.
set addPath="%addPath:~9,-1%"
svn add %addPath%
:end