Я разрабатываю для Windows дома и отправляю свои изменения клиенту.Заказчик не хочет устанавливать SCM, поэтому мне нужно отправлять файлы, которые я изменил с последней итерации.В настоящее время я использую Subversion с какой-то автоматизацией с помощью самописного пакета, который представляет собой смесь утилит windows и GNU / unix.Скрипт просматривает данные ревизии, перечисляет, какие файлы изменены, удаляет дублирование и в конце получает файл списка.
@echo off
if (%3) == () goto usage
set TO_REVISION=HEAD
set PUSHNAME=%3-%1
svn log -v -q -r %2 %3 | sed "s/^[ ^t]*[AM] \/[[:alnum:]_]*\/[[:alnum:]_]*\/\(.*\.[[:alnum:]_]*\)/tar --append --file=%PUSHNAME%.tar \1/" | sed "s/ (.*//g" | sort | uniq | grep -v "config.xml" >> %PUSHNAME%.bat
IF ERRORLEVEL 1 goto error
echo bzip2 %PUSHNAME%.tar>> %PUSHNAME%.bat
echo :: SVN REVISIONS :: %2>> %PUSHNAME%.bat
echo ... %PUSHNAME%.bat generated.
goto done
:usage
echo USAGE: %~nx0 push-file-name from[:to]-revision relative-or-absolute-path
echo See svn log -v -q -r [REV] to view repository log.
goto done
:error
echo ERROR! Check (if exists) output file %PUSHNAME%.bat
goto done
:done
Партия не идеальна, но для меня это нормально.Теперь я решил перейти на Git.Я конвертировал хранилище Subversion в репозиторий Git.Но покажи мне стоппер, я не могу найти команду замены для журнала svn -v -q -r в руководстве по Git :-( Я уверен, что так и должно быть, но после нескольких дней поиска я хотел бы попросить о помощи более опытногоGit-Gurus.
Заранее благодарю за минуты, потраченные на мою проблему,
Олег