質問

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

役に立ちましたか?

解決

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 ファイルで指定されたユーザー名を使用することを意味します。

他のヒント

非対話型ログイン用にバックアップスクリプトを構成する必要があることに同意します。 1つの方法は、 SSHキーを使用するおよびより簡単な解決策は、URLに直接パスワードを含めることです。

Mercurial 1.3では、構成ファイルにHTTPパスワードを簡単に含めることができます。私は今

を持っています
[auth]
bb.prefix = https://bitbucket.org/mg/
bb.username = mg
bb.password = pw
構成ファイルの

セクション。つまり、パスワードを複数のファイルに保存せずに、1つのファイルの保護のみに集中できます。

実際、私はパスワードを〜/ .hgrc に入れないようにするために別の新機能を使用しています。なぜなら、そのファイルを他の人に見せたいからです。代わりに私は

%include .hgauth

〜/ .hgrc および〜/ .hgauth には上記の [auth] セクションがあり、私だけが読むことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top