문제

Mercurial을 사용하여 디렉토리를 백업하기 위해 매일 실행할 예정인 쉘 스크립트를 작성해야합니다. 스크립트가 실행되는 동안 자동화 된 로그인을 수행하는 방법을 찾을 수 있다는 점을 제외하고는 대부분의 사용 사례가 완료되었습니다.

for REPOSITORY in $@ 
do
    cd $REPOSITORY

    # commit the changes
    hg commit -A -m "Commit changes `date`"

    # push the changes to the remote repository
    if hg push 
    then
        logger hg push success
    else
        logger hg push failure
    fi
done

HG 푸시 명령이 발행 된 후 로그인 프롬프트가 표시됩니다.

도움이 되었습니까?

해결책

Mercurial은 사용자 이름과 비밀번호를 저장소 URL에 넣을 수 있습니다.

hg push http://username:password@hg.myco.com/repo

명령 줄에 URL을 넣고 싶지 않으면 편집 할 수 있습니다. hgrc 로컬 저장소 파일을 파일하고 사용자 이름과 비밀번호를 default-push URL :

default-push = http://username:password@hg.myco.com/repo

이것은 어떤 의미입니다 hg push 에 지정된 사용자 이름을 사용합니다 hgrc 파일.

다른 팁

비 결과 로그인에 대한 백업 스크립트를 구성해야한다는 데 동의합니다. 한 가지 방법은 SSH 키를 사용하십시오 더 간단한 솔루션은 비밀번호를 URL에 직접 포함시키는 것입니다.

Mercurial 1.3을 사용하면 구성 파일에 HTTP 비밀번호를 훨씬 쉽게 포함시킬 수 있습니다. 나는 이제 a

[auth]
bb.prefix = https://bitbucket.org/mg/
bb.username = mg
bb.password = pw

내 구성 파일의 섹션. 즉, 비밀번호를 여러 파일에 저장하지 않고 하나의 파일 보안에만 집중할 수 있습니다.

사실, 나는 암호를 넣지 않기 위해 또 다른 새로운 기능을 사용하고 있습니다. ~/.hgrc, 나는 그 파일을 다른 사람에게 보여주고 싶을 수도 있습니다. 대신 나는 가지고있다

%include .hgauth

안에 ~/.hgrc 그리고 ~/.hgauth 위의 내용이 있습니다 [auth] 섹션과 나 혼자 읽을 수 있습니다.

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