2010-12-21 14 views
0

ローカルマシン上にSVN下のリポジトリがあります。いろいろな理由で、私が作業しているSVNブランチはロックされていて、別のブランチを作るはずがありません。私はMercurial経由で多くのローカルコミットを行い、その変更をネットワークドライブにコピー/プッシュして毎晩バックアップすることができるようにしたいと考えています。 SVNブランチが再び開かれたら、最終変更をそれにプッシュします。ネットワークドライブに自動的にレポをクローンするための最良の戦略は何ですか?

これはどれも普通ではないようです。私は自分の地元のレポを作り、いくつかの変更を加え、それらをコミットしました。それから私はリモートドライブで空のレポを作り、hg pushの変更を試みました。数時間後には33%しか完了しませんでした。合計レポは約80MBです(コードフォルダ内のファイルは6.7GB)。私は本当にコミットするたびに終日待ちたくない。

私はhg pushを袋に入れ、代わりにhg cloneを使用することに決めました。

それは(PowerShellを使用して)次のように行ってきました:

PS C:\Dev\Projects\Project1> hg status 
PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects 
**abort: repository H:\Repo\Projects not found!** 

[OK]を、ので、私は明らかにHでリポジトリ必要があります:\レポ\プロジェクト。そこで私はそこに行き、hg initを使って空のリポジトリを作ります。その後、私はこれを試してみます:

PS C:\Dev\Projects\Project1> hg clone H:\Repo\Projects 
destination directory: Projects 
**abort: destination 'Projects' is not empty** 

ここでMercurialは何を望みますか?空のディレクトリ?さて、いいえ、それはレポを見つけることができません。空のレポ?いいえ、目的地が空ではないと私に伝えます。 hg clone H:\Repo\Projects\TheNewFolderのような新しいフォルダいいえ、次に、Repo not foundメッセージが表示されます。

これを行うにはどのような方法がありますか?私は「一日中」または「全く働かない」の間にこだわっているようです。

答えて

2

あなたはC:\Dev\Projects\Project1にいるとあなたがH:\Repo\Projectsにコマンドをそれのクローンを作成したい場合はそこにProject1のクローンを作成言うhg clone Project1 H:\Repo\Projects続くcd ..です。 H:\Repo\Projectsを現在のディレクトリに複製しようとしていました。

クローンはプッシュクローンより速くはありません。ちょうどhg init ; hg pullです。

新しい空のレポにプッシュ/プルするには80MBレポ(80GBを意味しない限り)が瞬き以上になる必要はありません。それが80GBだった場合、それは一度だけ遅くなり、以後プッシュ/プルは新しいチェンジセットを送信します。

+0

あなたは正しいと思われます。私が必要だったのはドットでした。ここのエラーメッセージはあまり役に立たなかった。再:遅い:それは私たちのネットワークになる可能性があります。レポは80MBです。私はそれをbitbucketにプッシュし、新しいDirに素早くプルダウンすることができると思う! – jcollum

+0

さて、これらのエラーメッセージを守るために、aがファイルでbがディレクトリの場合、どのシステムでも非常に異なるエラーメッセージを表示する「コピーa b」と「コピーb a」の違いがありました。 –

+0

エラーは本当に私に2つの引数が必要だと私には言いませんでした。 1つの引数しかなければ、現在のリポジトリを遠隔地にコピーすると仮定するのは安全だと思われました。私が書いているように、論理が両方向にどのように進むかを見ることができます...ただ、「あなたは2つの引数を持っていなければならない」と言いたいのですが、それを好むでしょう。 – jcollum

0

本当にあなたの質問に言い直す必要がありますが、ファイルを追加してコミットする必要があると思いますが、convert extensionもチェックしてください。

hg add -a 
hg commit -m 'initial' 

編集あなたにクローニングしているディレクトリがすでにプロジェクトというディレクトリがあり、それを削除するか、名前を変更します。

+0

ソースリポジトリのファイルを意味しますか? – jcollum

+0

私は存在しなかったディレクトリにクローンを試み、エラーが発生しました。 – jcollum

+0

** abort:宛先 'Projects'は空ではありません** <<クローンを作成しようとしている場合は、** Project **というディレクトリがあります。 – OneOfOne

関連する問題