SVNはsvn:external
機能を介して外部ソースリンクを提供しています。そして私はGitリポジトリからモジュールを使用しています。このGitリポジトリを外部ソースとして使用できますか?gitリポジトリをsvn:externalとして使うには?
私のモジュールGitリポジトリはGithubにあります。だからGithub特定の方法も歓迎です。
SVNはsvn:external
機能を介して外部ソースリンクを提供しています。そして私はGitリポジトリからモジュールを使用しています。このGitリポジトリを外部ソースとして使用できますか?gitリポジトリをsvn:externalとして使うには?
私のモジュールGitリポジトリはGithubにあります。だからGithub特定の方法も歓迎です。
ただ、このURLを使用してのGitHubからtarボールやzipballをフェッチ:
https://github.com/UserName/ProjectName/zipball/master
それとも、tarballを好む場合:
https://github.com/UserName/ProjectName/tarball/master
彼らはコードのスナップショットです、アップzip形式。
GithubはSVNサポートを発表しました。 https://github.com/blog/626-announcing-svn-support
Githubリポジトリにsvn:external
を直接追加しました。
これは、トランク/ブランチ/タグディレクトリのディレクトリが多すぎるという問題です。たとえば、特定のディレクトリをプルダウンするだけです。 'svn co -N [repo]'と 'svn up trunk'ですが、あなたはまだ私には役に立たない道に「トランク」が残っています – icc97
GithubのリポジトリはSubversionリポジトリのように動作します。 this blog post about their improved SVN supportを参照してください。それは非常に遅いようですが、それは動作します。
gitリポジトリをSVNリポジトリに配置するもう1つの方法は、ネストされたリポジトリディレクトリに対してsvn:ignoreを設定し、Makefileを使用してgitリポジトリを複製および更新することです。
cd svn-repository
svn propset svn:ignore gitdir .
次に、Makefile
または他のビルドシステムにこのようなことをしてください。
GITREPO=git://github.com/schwern/perl5i.git
GITDIR=gitdir
all : $(GITDIR)
$(GITDIR)/.git :
git clone $(GITREPO) $(GITDIR)
$(GITDIR) : $(GITDIR)/.git
cd $(GITDIR) && git pull
最初にmake
を呼び出すと、gitリポジトリがクローンされます。その後の呼び出しで更新が行われます。
私はこのソリューションがより好きです。 Githubにあるgitリポジトリに依存せず、エミュレーションに依存しません。 gitリポジトリは、gitリポジトリとして動作することができます.gitとSVNの間のコンフリクトが問題を引き起こす可能性があるエミュレーションを経由する必要はありません。
しかし、あなたはGitリポジトリの現在のバージョンを手に入れません。それは、SVNチェックアウトからGitリポジトリに戻る方法ではなく、単なる1つの方法です。 – mliebelt
ジップボールは、実際には、ここ数分以内に加えられた変更を反映して、かなり最新です。私はあなたがダウンロードを初期化し、コミットの間にキャッシュするときに生成されると思います。 – Blender
しかし、これは数ヶ月続くもので、 'svn:externals'で外部リソースをバインドした場合に行われる' svn update'を実行しても更新されません。 – mliebelt