2009-08-21 7 views
2

ありがとうございます。リンクhttp://trac.webkit.org/wiki/UsingGitWithWebKitから、gitを使ってWebkitをチェックアウトするには、これらの3つのステップがあります。指定されたバージョンのWebkitをgitでチェックアウトする方法は?

クロムの正しいバージョンのWebkitをチェックアウトするにはどのステップを変更する必要がありますか?

ありがとうございます。

git clone git://git.webkit.org/WebKit.git WebKit 
cd WebKit 
git svn init -T trunk http://svn.webkit.org/repository/webkit 
git update-ref refs/remotes/trunk origin/master 
git svn fetch 

答えて

1
git fetch origin <branch name> 
git checkout <branch name> 
git pull --tags # pulls all tags from the remote repo 
git checkout <tag name> # checks out that tag from the remote repo 

これはgitのレポからタグをプルダウンして、あなたの作業コピーにそのタグをチェックアウトします。これはもちろん、git repoにはこれらのタグやブランチを持っていて、取り出してチェックアウトすることを前提としています。

git repoにこれらのタグがない場合は、git svnコマンドを使用してタグを作成する必要があります。

$ REF=$(git svn find-rev r<revision>) git checkout $REF 
$ git checkout -b <branchname> # if you want to create branch from this commit 
$ git tag <tagname> # if you want to create a tag from this commit 

git svn find-rev指定されたsvnリビジョンのgit commit refが見つかりました。

+0

上記のgit svnメソッドは、svn repoを追跡した場合にのみ動作することに注意してください。 –

+0

ありがとうございます。私はあなたが提案したことをしました。その後、 と-b $ REF = $(GitのSVN見つける-REVのR )Gitのチェックアウトの$ REF $ gitのチェックアウト、Iました 'のgitのsvnリベース'(私はSVNのトランクを同期しようとしていましたgit svn rebase 'を実行する前にcheckout -b masterを実行することを忘れています。これを今すぐ取得します: git checkout master 既に' master 'にあります あなたのブランチは' origin/master 'より先です私はgit svnリポジトリに何も変更を加えていませんでしたが、どうすれば私は146のコミットを受けたと言いましたか? ありがとう。 – hap497

+0

いつでもgitリポジトリの履歴を書き換えます。あなたが押しつぶされた可能性が高い履歴からコミットを取り除いて、リポジトリの履歴がリモートのものとは見なされなくなり、gitが混乱することになります。 Rebaseは、作成したが発行していないコミットの履歴を変更する場合にのみ使用してください。特定のブランチにないときにrebaseを実行すると、私が知らない本当に奇妙な振る舞いをするかもしれません。あなたがコミットレビュをチェックアウトするとき、あなたはブランチではなく、あなたはマスターではありません。 git rebaseは、あなたがチェックアウトしたコミット後にすべてのコミットを消去した可能性があります。しかしそれは推測です。 –

0

あなたはまた、Subversionリポジトリを追跡するを持っているように私には見えないので、あなたが本当に興味を持っているすべては、過去からのWebKitのいくつかのバージョンを取得している場合、これはそれを行います。

git clone git://git.webkit.org/WebKit.git WebKit 
cd WebKit 
git checkout <tag> 

ここで、<tag>は気になるバージョンに適用されるタグです。あなたが望むバージョンを教えてもらえませんが、git tagを使ってタグのリストを入手できます。必要なバージョンと一致しない場合は、必要なリビジョンのSHA1ハッシュを探し、タグ名の代わりにそのリビジョンを指定します。

+0

私は "git clone git://git.webkit.org/WebKit.git WebKit cd WebKit"を試しましたが、私は 'git tag'を使って何も得られません。 その後、私は追加 "gitのSVNのinit -Tトランクhttp://svn.webkit.org/repository/webkit gitの更新-refのレフリー/リモコン/トランク起源/マスター のgitのsvnは、フェッチ" 私はまだ何も得ます私は 'git tag'を使っている。 私は r47649 = a3cf5d9ebe3db905422842de2c126096391f69f9 r47650 = 8660bd7d03ecca29203e449e7aecf3c86c5fc995 r47651 = ac463b98f72507b90ce3647b08b0a29c4cabaaaf r47652 = 5c5efb72568a776e5fb16f53bdd11851cc6e5885 r47653 = 1b2f26b353931271f1e9637dd492013e33949e1a – hap497

0

クロムツリーには、DEPSというファイルがあります。そのファイルの4行目に、そのChromiumツリーのWebKitリビジョンが指定されます。

ChromiumはWebKitを毎日(週末を除く)ロールします。

+0

感謝の束を参照してください。ですから、Chromiumが特定のWebView依存関係を更新するときにWebkitを更新したい(git-svn経由で)。 私は「スティーブ・マッデン」の提案をすると、別の「git checkout 」になりますか?基本的に私はWebkitの変更履歴を保存したいと思います。 – hap497

関連する問題