2011-04-28 13 views
5

ले जाएं मैंने someFolder में एक Mercurial भंडार बनाया है और उपयोग किया है। अब मैंने फ़ाइलों को एक स्तर तक ट्रैक रखने की आवश्यकता की खोज की है। तो मुझे someOtherFolder बनाने और someFolder को स्थानांतरित करने की आवश्यकता होगी। यह कोई समस्या नहीं होनी चाहिए।मर्कुरियल रिपोजिटरी

इस बिंदु पर मैं

someOtherFolder 
    someFolder 
     .hg 
     many other files 

वहाँ एक रास्ता मर्क्युरियल बताने के लिए अपने दायरे को व्यापक बनाने और someOtherFolder बजाय अंदर फ़ाइलों का ट्रैक रखने के शुरू करने के लिए है होगा?

उत्तर

6

शायद यह करने के लिए एक अच्छा तरीका है, लेकिन एक बात तुम कर सकते हो hg mv सभी एक नया उप-निर्देशिका someFolder करने के लिए फ़ाइलों और फिर माता-पिता someFolder को someOtherFolder, जैसे नाम बदलने:

someFolder$ mkdir someFolder 

someFolder$ hg locate | xargs --replace=FILE hg mv FILE someFolder/FILE 

someFolder$ hg status 
A someFolder/a.txt 
A someFolder/foo/b.txt 
R a.txt 
R foo/b.txt 

someFolder$ hg commit -m "moved files to subfolder" 
someFolder$ cd .. 
$ mv someFolder someOtherFolder 
+0

+1 शानदार। मुझे '- FILE FILE' के बजाय' -I FILE' का उपयोग करना पड़ा – Dori

2

आप होना चाहिए ऐसा करने के लिए hg convert extension का उपयोग करने में सक्षम।

मैं यह परीक्षण नहीं किया, लेकिन कुछ इस तरह काम कर सकते हैं:

$ echo include someFolder > /tmp/myfilemap 
$ echo rename someFolder someOtherFolder/someFolder >> /tmp/myfilemap 
$ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo 
संबंधित मुद्दे