Mercurial deposu parçası kopyalayabilir miyim?
Mercurial deposu parçası klonlamak mümkün mü? Hadi depoyu oldukça büyük olduğunu söylüyorlar, ya da birden fazla proje ya da birden çok dalları içerir. Depoyu yalnızca bir kısmını kopyalayabilir miyim?
E. g. Subversion, trunk
branches
olabilir. Eğer sadece gövde (veya dallar), isterseniz sadece [project]/trunk
rica edebilirim. Eğer hg repo ben klon gövde ve dalları. Bu istemediğim bir sürü bilgi olabilir. Bu almamak miyim?
Alternatif olarak, eğer bir hg repo birden fazla proje yapmak istiyorum, bunu nasıl yapmalıyım? I. e. sadece projelerden biri alıp diğerlerini göz ardı edebilirim.
CEVAP
Evet. Sen hayatına devam ettin eminim, ama daha sonra burada dolaşmak verecek olanların iyiliği için, http://mercurial.selenic.com/wiki/ConvertExtension, dokümanlar takip ettim ve basit bir toplu iş komut dosyası yazdı:
@echo off
echo Converting %1
REM Create the file map
echo include %1 > ~myfilemap
echo rename %1 . >> ~myfilemap
REM Run the convert process
hg convert --filemap ~myfilemap .\ ..\%1
REM Delete the file map
del ~myfilemap
cd ..\%1
REM update the new repo--to create the files
hg update
split.cmd
gibi bir şey adı ve bölmek istediğiniz repo dizine koy. Diyelim örneğin C:\repos\ReallyBigProject
, ve bir alt C:\repos\ReallyBigProject\small-project
. Komut satırında çalıştırın:
cd\repos\ReallyBigProject
split.cmd small-project
Bu büyük proje revizyonları, ilgili tarihten bir parça ile C:\repos\small-project
oluşturur.
convert
varsayılan olarak etkin değildir. Aşağıdaki satırları emin olmak için .hg\hgrc
dosyası (c:\repos\ReallyBigProject\.hg\hgrc
benim örnekte) ihtiyacınız olacak:
[extensions]
hgext.convert=
Mercurial, nasıl "kompres" i...
Mercurial: şube isim Verebilir miyim?...
Nasıl Git deposu için boş bir dizin ek...
Nasıl biri git deposu e-posta ile gönd...
Nasıl Mercurial kaldırıldı dosyası (va...