Одинарные кавычки запрещают замену. Используйте двойные кавычки вместо этого:
grep "^$keyword"
Возможно заменить логины в истории, но немного сложно. Имя пользователя хранится в свойстве svn: author
, связанном с каждой ревизией. Команда svnadmin setrevprop
может изменить это свойство.
Вы можете сделать это вручную, но это требует запуска этой команды для всех ревизий. Поэтому я рекомендую использовать следующие шаги, чтобы упростить эту работу.
Создать командный файл chg_users.cmd.
@ECHO OFF
УСТАНОВИТЬ OLDUSER = oldusername
УСТАНОВИТЬ NEWUSERFILE = user.txt
УСТАНОВИТЬ REPO = C: \ Repositories \ test \
SET SVNADMIN = "% VISUALSVN_SERVER% bin \ svnadmin.exe"
УСТАНОВИТЬ SVNLOOK = "% VISUALSVN_SERVER% bin \ svnlook.exe"
REM Перебрать все ревизии (история svnlook), получить автора каждой ревизии (автора svnlook),
REM замените автора при необходимости (svnadmin setrevprop)
FOR / F "delims = /" %% i IN ('% SVNLOOK% history% REPO% ^ | FINDSTR ^ [0-9] [0-9] *') DO% SVNLOOK% author -r %% i% REPO % | FINDSTR% OLDUSER% &&% SVNADMIN% setrevprop% REPO% -r %% i svn: author% NEWUSERFILE%
Установить старое имя пользователя с помощью переменной OLDUSER. Задайте путь к вашему репозиторию с помощью переменной REPO.