スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

subversionとgitで昔のソースを取ってくる

小ネタですが、結構はまったのでメモ。
ffmpegを1年くらい前の状態でコンパイルしたかったので、subversionで時間指定してexportしようとしましたが、外部プロジェクトに依存しているらしく、その部分が最新のものを取ってきてしまいます。
ダメだったコマンドは以下の通りです。
svn export -r {2009-08-18} svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg-20090818

中にあるlibswscaleというのが最新すぎてコンパイルできませんでした。
ということで、正解は以下の通りです。
svn co svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg-20090818
cd ffmpeg-20090818
svn update -r {2009-08-18}
cd libswscale
svn update -r {2009-08-18}
cd ..

subversionでは-rオプションでリビジョンを指定できます。波括弧で囲うと時間が指定できます。2weeks agoみたいな指定もできるようです。

ちなみに、関連するライブラリのx264はgitで管理されているため、git流の昔のソースの取り方が必要です。
git clone git://git.videolan.org/x264.git
mv x264 x264-20090818
cd x264-20090818
git log --before="2009-08-18"
git checkout 1b6086ceb0c346c959a68478b9c36284fbdd5872

cloneでリポジトリ全体を取得して、logにて近い日付のコミットログを見つけます。beforeオプションで時間が指定できます。
logに記述されているハッシュコードをコピーして、checkoutでそのハッシュコードを指定します。
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。