Subversion에서 내 로그인 이름 이외의 사용자가 될 수 있습니까?


253

Subversion변경 사항이 표시되는 이름을 변경하는 방법을 알고 싶습니다 .

방금 사용하기 시작했습니다 Subversion. 저는 현재 아내의 이름으로 항상 로그인 한 XP 랩톱에서 버전 제어 코드를 버전으로 사용하고 있습니다. Subversion DB에서 내 이름으로 변경 사항을 표시하고 싶습니다.

나중에 DB를 복제하여 집 전체가 액세스 할 수 있도록합니다. 아내는 항상 내 이름으로 로그인 한 사무실 컴퓨터를 사용합니다. 수정 된 문서를 자동으로 검사하도록 설정하는 것이 좋을 것입니다.

결국 나는 아마 다른 사용자 이름으로 리눅스 컴퓨터에서 그것을 사용할 것입니다.

Subversion이 호출하는 사용자 이름을 변경하기 위해 사용자 환경을 수정하는 방법이 있습니까? SVN_USERNAME='Mark'재정의하는 설정과 같은 것을 기대 하지만 일반적으로 이름을 얻습니다.

업데이트 :--username Michael이 참조 한 플래그는 "svn stat"로컬 파일 : 저장소의 경우에도에서 보고 한 이름을 변경하는 데 사용 됩니다. 또한 고정되어 있으므로 다음 명령에 지정할 필요가 없습니다. 심지어 재부팅 한 후에도 여전히 "--username"이전 부팅 의 값을 사용했습니다 .

답변:


280

대부분의 Subversion 명령 --username은 리포지토리에 사용하려는 사용자 이름을 지정 하는 옵션을 사용합니다. Subversion은 각 작업 복사본에 사용 된 마지막 리포지토리 사용자 이름과 암호를 기억합니다. 즉, 사용하는 경우 svn checkout --username myuser사용자 이름을 다시 지정할 필요가 없습니다.

Kamil Kisiel이 말했듯 이 Subversion이 파일 시스템에서 직접 리포지토리에 액세스하면 (즉, 리포지토리 URL 형식 file:///path/to/repo또는 file://file-server/path/to/repo) 파일 시스템 권한을 사용하여 리포지토리에 액세스합니다. 그리고 SSH 터널링 ( svn+ssh://server/path/to/repo)을 통해 연결할 때 SVN은 SSH 로그인 에 따라 서버 에서 FS 권한을 사용합니다 . 이 경우 svn checkout --username리포지토리에서 작동하지 않을 수 있습니다.


빠른 답변 주셔서 감사합니다. --username 플래그는 재부팅시에도 매우 끈적한 것으로 보입니다. 그리고 그것은 내 파일 : 저장소에서 잘 작동합니다.
시장

70

ssh를 통한 svn의 경우 다음을 시도하십시오.

svn list svn+ssh://[user_name]@server_name/path_to_repo  

svn은의 user_name비밀번호를 묻습니다.


1
johndoe@example.com : 같은 사용자 이름과 함께 작동하지 않습니다
neoneye

4
https://user_name@.../path나를 위해 일하지 않았지만 (cygwin) --username잘 작동합니다.
zelanix

44

~ / .subversion / servers를 통해 기본 사용자 이름을 설정할 수 있습니다.

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

이전 버전의 svn은이를 지원하지 않습니다 (예 : 1.3.1 [sic!]).


37
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

다른 사용자 계정에서 일했습니다. 그래도 사용자 이름 / 암호를 다시 입력하라는 메시지가 표시됩니다. 위와 같이 한 번 로그인해야하며 이후 시간으로 설정되어 있습니다 (컴퓨터를 다시 시작하지 않는 한).


4
명령 행에 비밀번호를 제공 할 때주의하십시오. 머신에서 프로세스 목록을 볼 수있는 사람은 프로세스 목록에서 비밀번호를 볼 수 있습니다. 단일 사용자 시스템에서는 좋지만 다중 사용자 시스템에서는 그렇지 않습니다.
bleater


11

Subversion은 일반적으로 로그인 한 사용자 이름을 사용할 수없는 경우 "Subversion 사용자 이름"을 묻습니다. 따라서 게으 르면 (보통) 암호를 묻고 Enter 키를 누르고 사용자 이름 프롬프트를 기다리고 Subversion 사용자 이름을 사용하십시오.

그렇지 않으면 Michael의 솔루션이 바로 사용자 이름을 지정하는 좋은 방법입니다.


1
--username 플래그가 존재하지 않거나 다양한 명령에 대해 약간 다른 것으로 보이는 모든 SVN 명령 (체크 아웃, 커밋 등)에서 작동하기 때문에이 방법이 더 나은 답변이라고 생각합니다.
edwardsharp

7

대부분의 대답은 svn + ssh에 대한 것으로 보이거나 작동하지 않는 것 같습니다.

http 액세스의 경우 명령 행에서 SVN 사용자를 로그 아웃하는 가장 쉬운 방법은 다음과 같습니다.

rm ~/.subversion/auth/svn.simple/*

모자 팁 : http://www.yolinux.com/TUTORIALS/Subversion.html



6

Apache 모듈 또는 svnserve와 함께 Subversion 사용. 를 사용하여 여러 사용자로 작업을 수행 할 수있었습니다 --username.

Subversion 명령을 '새'사용자로 호출 할 때마다 $HOME/.subversion/auth/<authentication-method>/디렉토리에는 해당 사용자에 대해 캐시 된 새 항목이 있습니다 (해당 특정 사용자로 연락하는 서버에 대해 올바른 비밀번호 또는 인증 방법으로 인증 할 수 있다고 가정). .



2

로 이동하면 ~/.subversion/auth/svn.simple/*svn 사용자 계정에 대한 정보가 포함 된 파일 목록이 표시됩니다. 필요없는 다른 모든 것을 삭제하십시오.

그런 다음 commit, rm 등과 같은 SVN 작업과 관련하여 무엇이든 할 때. 사용자 이름 또는 비밀번호를 입력하라는 메시지가 다시 나타납니다.


-1

TortoiseSVN은 항상 사용자 이름을 입력하라는 메시지를 표시합니다. (말하지 않는 한)


아닙니다. 적어도 Linux의 경우 1.9.5는 아닙니다.
drkvogel 2016 년

기본적으로 로컬 사용자 이름을 사용하므로 원격 저장소에 연결할 때 항상 원하는 것은 아닙니다.
drkvogel 2016 년

-3

SVN_USERSVN 사용자 이름을 변경하기 위해 환경 변수를 설정할 수 있다고 생각합니다 .


3
이에 대한 참조를 제공 할 수 있습니까? 검색을하고 svn_username 만 찾았습니다.이 패치는 누군가가 만든 패치이며 메인 라인에 있는지 여부를 알 수 없습니다 ... 그렇다면 다른 히트를 발견했을 것이라고 생각합니다.
시장
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.