2012-06-11 19 views
9

मैं अपने संगठन के लिए svn से mercurial में स्विच करने की व्यवहार्यता देख रहा हूं, लेकिन एक लटकाना है जिसके लिए मुझे कोई समाधान नहीं मिल रहा है।सभी subrepos खींच/अद्यतन करने के लिए कोई तरीका?

क्या मैन्युअल रूप से खींचने और अपडेट करने के बिना रेपो और सभी सब्रेप को खींचने और अपडेट करने का कोई तरीका है?

मैं Mercurial पर स्विच करना चाहता हूं, लेकिन यदि यह संभव नहीं है तो यह हमारे लिए नहीं है।

संपादित करें: अच्छा भगवान मैं आज थक गए होंगे ... इतने पर दो सवाल है जिसके लिए मैं जवाब मिनट पूछ के बाद लगता है ...

उत्तर

8

किसी तरह यह याद किया, और सही सवाल पूछने के बाद यह पाया: https://www.mercurial-scm.org/wiki/OnsubExtension

+1

हाँ, यह है कि आप कैसे करना है यह भी :), आप subrepos (कुछ मर्क्युरियल, कुछ Git, कुछ SVN), आप जैसी चीजों को चला सकते हैं मिश्रित अगर है hg onsub -t hg "hg pull -u" ' ' hg onsub -t git "git pull" ' – Ludovic

0

एक alterantive के रूप में, एक बैच स्क्रिप्ट मदद कर सकता है:

@echo off 
for /D %%d in (*) do (
    if exist %%d\.hg (
    echo Verzeichnis %%d 
    cd %%d 
    hg pull -u 
    echo ---------------------------------------------- 
    cd .. 
) 
) 
pause 
+0

यह स्क्रिप्ट गैर पोर्टेबल है, केवल माइक्रोसॉफ्ट की विंडोज़ और डॉस के लिए काम करता है। –

1

आप निम्न

की तरह एक साधारण खोल उर्फ ​​परिभाषित कर सकते हैं `:
alias hgsub='find . -name ".hg" -type d | grep -v "\./\.hg" | \ 
xargs -n1 dirname | xargs -n1 -iREPO hg -R REPO ' 

और उसके बाद करना

hgsub tip 
hgsub pull -u