2

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 push コマンドを発行すると、ログイン プロンプトが表示されます。

4

2 に答える 2

7

I agree that you should configure your backup script for non-interactive logins. One way is to use SSH keys and a simpler solution is to include the password directly in the URL.

Mercurial 1.3 makes it much easier to include HTTP passwords in your configuration files. I now have a

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

section in my configuration file. This means that you can avoid storing your passwords in multiple files and only concentrate on securing one file.

In fact, I am using another new feature in order to avoid putting the password in ~/.hgrc, since I might want to show that file to others. Instead I have

%include .hgauth

in ~/.hgrc and ~/.hgauth has the above [auth] section and is readable by me alone.

于 2009-05-24T15:18:49.907 に答える
3

Mercurial では、ユーザー名とパスワードをリポジトリ URL に入れることができます。

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

コマンド ラインに URL を入力したくない場合はhgrc、ローカル リポジトリのファイルを編集して、ユーザー名とパスワードをdefault-pushURLに入力します。

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

これは、anyhg pushがファイルで指定されたユーザー名を使用することを意味しhgrcます。

于 2009-05-08T09:13:13.937 に答える