git-svnのcloneオペレーションを使用して、SVNリポジトリのクローン作成を開始しました。インポートの約6時間後(それは大きなレポです)、私のコンピューターは私のところへ行って眠りました。最初の作業をすべてやり直すことなく操作を再開する方法はありますか?
git-svnのcloneオペレーションを使用して、SVNリポジトリのクローン作成を開始しました。インポートの約6時間後(それは大きなレポです)、私のコンピューターは私のところへ行って眠りました。最初の作業をすべてやり直すことなく操作を再開する方法はありますか?
回答:
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
。
git svn clone
、プロセスを中断しました。git svn clone
再度実行すると、進行中のクローンが再開されたようです。他の誰かがこれをしましたか?
git svn rebase
操作を完了し、トランクを反映してmasterブランチを持つようにフェッチした後
少なくともgit 2.1.0以降では、再発行するだけで再開できます git svn clone
しかし、これはあなたの.git / configのいくつかのエントリを複製し、それらを削除してすべてがうまくいくでしょう
From at least git 2.1.0...
この機能がgit 1.9.1に存在していたかどうかを教えてください。
git svn fetch
私のためのチェックサムの不一致の原因となった-と何HEADは明らかになかったので、リセットすることは不可能であった:/ -しかし、これは罰金を動作しますが、単に削除する必要がありましたsvn-remote.fetch
から.git/config
git svn clone
(該当する場合)にも指定する必要があると思いますgit svn fetch
。たとえば、HEAD SVNリビジョンのみを取得するように設定-r HEAD
しgit svn clone
ました。再開するにはgit svn fetch
、すべてのリビジョンのインポートを開始したを実行しました。