Оскільки ця публікація позначена Windows, я подумав, що розробить рішення для Windows. Я хотів автоматизувати процес, і я створив bat-файл. Я чинив опір створення консолі.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