Sorun
Bir Subversion deposundan git-svn ile sığ bir kopyayı nasıl oluşturursunuz, örneğin yalnızca son üç düzeltmeyi nasıl çekersiniz?
git clone
Seçeneğini kullanırsanız komutu bir Git deposundan son n revizyonları alabilirsiniz --depth
, depoya sığ bir kopyasını almak yani. Misal:
git clone --depth 3 git://some/repo myshallowcopyrepo
Git-svn için benzer bir seçenek var mı?
Şimdiye kadar yaptığım keşiflerim
Şimdiye kadar sadece revizyonun çekileceği -rN
seçeneği buldum N
. Misal:
git svn clone -rN svn://some/repo
Belgelere göre kullanım imkanı var -r$REVNUMBER:HEAD
. Bir hata mesajı döndüren son 3 düzeltmeleri almak için aşağıdakileri denedim.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Bu yüzden HEAD~3
, üçüncü ama son revizyon 534'ün gerçek sayısı ile değiştirdim. Bu işe yaradı, ancak bu önce üçüncü ama son taahhüdün revizyon numarasını bulmamı gerektiriyor.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
belgeleme
--depth
için git svn
destek zaten olmadığından,. Ve zaten sunucudan en son devir bulmak zorunda?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.