2011-02-04 20 views
10

Bir süredir kodumu yalnızca kaynak denetimi altında geçirdim, ama bir şey gibi bir şeyde .vim klasörümdeki eşyalarıma benzer şeyler koymanın harika olacağını düşündüm. (Açıkçası, repo'mdaki her şeyi, pek çok yapılandırma dosyasını, src dizinimi ve belki de birkaç şeyi de saklayamayacağım)Giriş dizinini kaynak denetimi altına alma (hg)

Bir repo kurabilirdim, diğer bilgisayarlarımdan erişebileceğim sunucum, ancak diğer bilgisayarlarıma klonlayamıyorum. Klonlamayı denediğimde, giriş dizini boş olmadığından başarısız olur. Burada istediğimi yapmanın bir yolu var mı? zaten mevcut diğer dizinlerde

cevap

8

:

bu deneyin ama tabii ki nokta dosyalarınız bilgisayarlar arasında aynı değilse, bununla ilgili bir şeyler yapmanız gerekecektir. Ben sadece sürüme benim ev klasörü altındaki bazı dosyaları değil, her şeyi istediğim için

, ben hg status yaptığımda dosyaların bir okyanus alamadım ~/.hgignore

# This .hgignore is for the dotfiles repository only, 
# the rest of my HG repositories use the file 
# .hgignore_global as referenced by [ui]'s ignore setting. 

syntax:glob 
* 

Bu şekilde bu basit kuralı var ve Sadece sürüm kontrolü altındaki dosyaları değiştirilmiş dosyaları görüyorum.

Ama

[ui] 
ignore=/home/gajon/.hgignore_global 

Ve ~/.hgignore_global ortak geçici dosyalar için bazı filtreleri içeren başka hg depo içinde çalışırken ben dosyalardan dosyalar görmek istiyorum çünkü, benim ~/.hgrc dosyasında bu var:

syntax: glob 
*.pyc 
*~ 
.*.swp 
.svn* 
*.svn* 
*.fasl 

syntax: regexp 
^\.pc/ 
+2

başka bir seçenek klondan ziyade 'hg init' ve 'hg pull' idi. –

+0

Ry4an, siz haklısınız. Ve bu daha uygun olabilirdi; Dosyalarla dolu bir klasör oluşturmaya gerek yok ve daha sonra 'rm -rf'. Teşekkürler! –

0

, yapabilirsin hg init, istediğini hg add, hg commit o, merkezi repo hg pull ve elde edilen birleştirme ile anlaşma.

+2

Var Bunu denedin mi? Sadece çekmeye zorlarsanız çalışır. Şahsen, '.gg dizini kopyala' bir 'temiz' cevabı olduğunu düşünüyorum – Mikezx6r

1

proj1 ve proj2 ürününüz olduğunu varsayalım. proj1 Eğer proj2 için klonlamak istediğiniz bir cıva repo, ancak proj2 zaten içinde dosyaları vardır. ,

~$ hg clone ssh://myserver/hg/dotfiles mydotfiles 
~$ mv mydotfiles/.hg . 
~$ rm -rf mydotfiles 

ve şimdi giriş klasörü versiyonu kontrol altında olduğunu, bu kadar: Yaptığımın oldu aynıdır benim bilgisayarlar arasında sürüm dosyaları yana

hg clone proj1 proj3 
mv proj3/.hg proj2 
rmdir proj3 
cd proj2 
hg update -C -r tip 
+0

Son komutun '-r ipucu' seçeneğini atlayabilirsiniz - güncelleme varsayılan olarak * ipucu * revizyonunu alır. –

İlgili konular