Действительно ли возможно получить svn к аутентификации с windows/sspi, но с псевдонимами имени пользователя?

Одинарные кавычки запрещают замену. Используйте двойные кавычки вместо этого:

grep "^$keyword"
1
задан 20 December 2011 в 13:56
1 ответ

Возможно заменить логины в истории, но немного сложно. Имя пользователя хранится в свойстве svn: author , связанном с каждой ревизией. Команда svnadmin setrevprop может изменить это свойство.

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

  1. Создать резервную копию репозитория.
  2. Создать командный файл 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%
    
  3. Установить старое имя пользователя с помощью переменной OLDUSER. Задайте путь к вашему репозиторию с помощью переменной REPO.

  4. Создайте текстовый файл user.txt с новым именем пользователя. Обратите внимание, что этот файл должен содержать единственную строку с именем пользователя.
  5. Запустите chg_users.cmd.
  6. Проверьте результат с помощью команды svn log или ее эквивалента TortoiseSVN.
  7. Повторите шаги 2-6 для другого имени пользователя.
2
ответ дан 3 December 2019 в 21:56

Теги

Похожие вопросы