[解決済み】Subversion リポジトリから最後の n リビジョンを git-svn でクローンする方法は?
2022-05-09 13:29:55
質問
問題点
Subversion リポジトリから git-svn を使って浅いコピーを作成するにはどうしたらよいでしょうか。たとえば、最後の3つのリビジョンだけを取り出すにはどうしたらよいでしょうか。
は
git clone
コマンドは、Git リポジトリから直近の n リビジョンを取得することができます。
--depth
つまり、リポジトリの浅いコピーを取得します。例
git clone --depth 3 git://some/repo myshallowcopyrepo
git-svnに同様のオプションはありますか?
これまでに発見したこと
今のところ、私が見つけたのは
-rN
オプションで
N
はプルするリビジョンです。例
git svn clone -rN svn://some/repo
ドキュメントによると、このような場合は
-r$REVNUMBER:HEAD
. 最後の3つのリビジョンを取得するために次のように試しましたが、エラーメッセージが返されました。
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
そこで
HEAD~3
を、3番目だが最後のリビジョンの実際の番号である534に変更しました。これはうまくいったのですが、そのためにはまず3番目で最後のコミットのリビジョン番号を知る必要があります。
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
ドキュメンテーション
解決方法は?
Git-SVN でシャロークローンを指定する最もシンプルな方法は、クローンを開始する SVN リビジョン番号を指定することであることは既にご存知でしょう (
-r$REV:HEAD
).
例えば
git svn clone -s -r1450:HEAD some/svn/repo
Gitのデータ構造は、有向無サイクル・グラフ(DAG)のポインタに基づいています。
n
コミットすることができます。 しかし SVN (そして Git-SVN) では、リビジョン番号を自分で見つけなければなりません。
関連
-
[解決済み] [email protected] へのいくつかの参考文献のプッシュに失敗しました。
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] Git リポジトリを特定のフォルダにクローンする方法は?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】マージ後のコミットでGitエラー - fatal: マージ中に部分コミットができない
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
gitアップロードの共通エラー処理
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?
-
[解決済み] GitHubです。パーミッションが拒否されました (公開鍵)。