SVN 저장소에 액세스하기 위해 기본 저자를 변경하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/1666421

문제

기본 SVN 사용자 이름을 새 이름으로 변경하고 싶습니다. 이 링크에서 제안 된 솔루션을 시도했습니다 (로컬 SVN 저장소에 액세스하기 위해 기본 저자를 변경하려면 어떻게해야합니까?), 그러나 그것은 작동하지 않습니다.

파괴적인 클라이언트를 사용하여 Command Line과 Aptana를 통해 SVN 저장소에 액세스 할 수 있습니다.

도움이 되었습니까?

해결책

편집하다:이 답변은 기본 저자를 설정하는 방법이 아니라 로그에서 저자를 변경하는 방법에 관한 것입니다. 지난 몇 번의 커밋을 취소하는 데 도움이 될 수 있기 때문에 솔루션을 여기에 남겨 두겠습니다. 저자는 올바른 사람이 아니 었습니다.

편집 2: .BAT 파일의 후크 스크립트 예제 및 정보.


당신은 많은 세부 사항을 제시하지 않으므로 우리는 추측해야 할 것이며, 첫 번째 생각은 변경을 검증하기 위해 호출 된 후크 스크립트에 관한 것입니다. 이 경우 클라이언트가 문제가되지 않으며 서버 구성 문제입니다.

사전 리브 프로 롭 변경 후크 스크립트를 확인하십시오 ( <repository>/hooks 서버의 디렉토리)는 서버에서 실행할 수 있으며 저자를 변경할 수 있습니다.

다음은 C의 예입니다.

#include <stdio.h>

int main(int argc, char *argv[])
{
int i;
 char *repos = argv[1];
 char *rev = argv[2];
 char *user = argv[3];
 char *propname = argv[4];
 char *action = argv[5];

 if (!strcmp(action, "M") && !strcmp(propname, "svn:log")) return 0;
 if (!strcmp(action, "M") && !strcmp(propname, "svn:author")) return 0;
 fprintf(stderr, "Changing revision properties other than svn:log or svn:author is prohibited");
 return 1;
} 

SVN 서버가 Linux에 있으면 단순히 이름을 바꿀 수도 있습니다. pre-revprop-change.tmpl 각 저장소와 함께 자동으로 생성되는 파일 pre-revprop-change, 서버에 대한 실행 가능 권한을 부여하십시오. 저자 및 로그 변경을 허용하는 것은 다음과 같아야합니다.

#!/bin/sh

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi

echo "Changing revision properties other than svn:log or svn:author is prohibited" >&2
exit 1

Windows :

@echo off
REM pre-revprop-change.bat hook script
if "%4" == "svn:log" exit /b 0
if "%4" == "svn:author" exit /b 0
echo "Changing revision properties %4% is prohibited" >&2
exit /b 1

작동하지 않으면 COMSPEC 또는 서버 계정에 적절한 값이없는 경로 변수로 인한 것일 수 있습니다. 또는 후크 스크립트의 권한이 될 수도 있습니다. 이것을 확인하십시오 자세한 내용은 링크.

후크 스크립트의 다른 예가 있습니다 Collabnet에서.

자세한 내용 전복으로 버전 제어 온라인 책 및 또한 여기 (다음 섹션을 확인하십시오).

다른 팁

Eclipse의 경우 (그러나 Eclipse 기반 IDE와 같은 Aptana와 함께 작업해야합니다) :

에서 SVN Repository 의 견해 SVN Perpective, 그냥 가십시오 Location Properties 원하는 저장소의 자격 증명을 변경합니다. Authentication 상자.

지금부터 저자를 바꿔야합니다.

역사를 다시 쓰려면 Redglyph의 솔루션과 같은 것을 사용해야합니다.

Subversion 1.4.x는 svn 만 있습니다 : 로그가 기본값으로 허용됩니다. pre-revprop-change 파일. 파괴적인 SVN 플러그인과 함께 일식을 사용할 때 문제가 발생할 수 있습니다.

마법의 오류를 해결하기 위해

SVN 이외의 개정 속성 변경 : 로그는 금지됩니다.

SVN 명령 후. 이 특정 문제를 해결하려면 추가하십시오

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi

위의 Redglyph 용액에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top