git-svn cloneの再開


117

git-svnのcloneオペレーションを使用して、SVNリポジトリのクローン作成を開始しました。インポートの約6時間後(それは大きなレポです)、私のコンピューターは私のところへ行って眠りました。最初の作業をすべてやり直すことなく操作を再開する方法はありますか?

回答:


156

git svn fetch再開するコマンドはgit svn cloneいくつかのソースによって確認されています。

(ちなみに、最初のクローンステップ中に接続が停止した場合、または接続を停止する必要がある場合、クローンを再開するには、上記のコマンドを実行して履歴のダウンロードを再開する必要があります)。

でメモリリークが発生しているようgit-svnです。git-svnプロセスのサイズはゆっくりと増大し、約2週間後には1.2 GBの常駐サイズになりました。その時点で、OSはforkを許可しませんでした。
物事は、これは変装の祝福でした。
中断されたクローンを単純な " git svn fetch"で再開することができましたが、大幅に小さくなったヒープを使用すると、はるかに速く実行されました。
これは非常に効果があり、実際、毎晩、毎朝、プロセスを中断して再開する習慣がありました。数日後にそれが行われました。

git-svn既存のSubversionリポジトリのクローンを作成して、冒険を始めます。

git svn clone url://path/to/repo -s

この-sフラグは、リポジトリが「トランク、ブランチ、タグ」の規則を使用していることを前提としています。そうでない場合は、ブランチとタグを表すディレクトリを手動で指定する必要があります(Gitにそれらを認識させたい場合)。

SVNからすべてのリビジョンをフェッチしてローカルでコミットするため、これには長い時間がかかります。何らかの理由で停止した場合は、で再開できますgit svn fetch


1
コマンドラインオプションの一部は、git svn clone(該当する場合)にも指定する必要があると思いますgit svn fetch。たとえば、HEAD SVNリビジョンのみを取得するように設定-r HEADgit svn cloneました。再開するにはgit svn fetch、すべてのリビジョンのインポートを開始したを実行しました。
amolbk

これにより、最初のリビジョンからすべてが始まりました... 10,000回のコミットがあります!中断したところから再開する方法について何か考えはありますか?
ネイサンJB

@ NathanJ.Brauerは私の頭の上ではありません。新しい質問をすることができます(OS、使用したgitバージョンとsvnバージョン、およびコンテキストに対するこの回答へのリンク)
VonC

1
中に誤ってネットワーク接続を切断しgit svn clone、プロセスを中断しました。git svn clone再度実行すると、進行中のクローンが再開されたようです。他の誰かがこれをしましたか?
Kehlan Krumme 2017年

1
@Kehlanどうやら、以下のzan-xhipeの回答
VonC '

17

私は正解が何であるか(願っています)を提供するブログ投稿を見つけまし

どうやら、実行はgit svn fetch効果的にクローン操作を完了します。期待しています!


7
あなたが使用する必要がありますgit svn rebase操作を完了し、トランクを反映してmasterブランチを持つようにフェッチした後
ロマオルド黒髪

今後の参考のために、ブログ投稿へのリンクを提供してもらえますか?
jmanning2k

6

VonCとして、CaptainAwesomePantsとArchiはすべて言った git svn fetchトリックを行う。私がやっていましたgit svn clone url... --authors-file=path/to/fileが、著者の1人がauthorsファイルになかったため、クローンは失敗しました。著者をファイルに追加して実行git svn fetchしたところ、中断したところから続行され、後でgitログを確認したところ、新しく追加された著者を使用してコミット著者の名前が置き換えられたため、すべてが甘かったようです。


5

少なくともgit 2.1.0以降では、再発行するだけで再開できます git svn clone

しかし、これはあなたの.git / configのいくつかのエントリを複製し、それらを削除してすべてがうまくいくでしょう


From at least git 2.1.0...この機能がgit 1.9.1に存在していたかどうかを教えてください。
CivFan 2015年

申し訳ありませんが、これを試すSVNリポジトリはもうありません。
zan-xhipe 2015

git svn fetch私のためのチェックサムの不一致の原因となった-と何HEADは明らかになかったので、リセットすることは不可能であった:/ -しかし、これは罰金を動作しますが、単に削除する必要がありましたsvn-remote.fetchから.git/config
OLL
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.