2010-03-26 19 views
5

पर हार्डलिंक क्लोनिंग कैसे प्राप्त करें मुझे एक Win7 x64 बॉक्स टोर्टोइज़ 1.0 x64 रिलीज चल रहा है। कछुए के बारे में पता चलता है कि यह 1.0 "Mercurial-1.5, पायथन-2.6.4, पीईजीटीके-2.16.0, जीटीके-2.18.7" के साथ है। मुझे ActivePython 2.6 और Mercurial 1.5 x64 इंस्टॉल किया गया है (the 64-bit installer से Mercurial इंस्टॉलर के माध्यम से स्थापित किया गया है। मेरे विंडोज़ बॉक्स पर हार्ड लिंक वाले एक क्लोन भी नहीं। मेरे बॉक्स पर ड्राइव भी एनटीएफएस हैं, जो हार्ड लिंक का समर्थन करती हैं।विंडोज

काम में, जब मैं अजगर दुभाषिया चलाने के लिए और win32file एपीआई के माध्यम से एक हार्ड लिंक निर्माण पर अमल, यह एक लिंक सफलतापूर्वक बनाता है:

[email protected] C:\temp 
> python 
ActivePython 2.6.2.2 (ActiveState Software Inc.) based on 
Python 2.6.2 (r262:71600, Apr 21 2009, 15:05:37) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from win32file import * 
>>> CreateHardLink('C:\\temp\\Mike2.txt','C:\\temp\\Mike.txt') 
>>> ^Z 

[email protected] C:\temp 
> fsutil hardlink list Mike.txt 
\temp\Mike.txt 
\temp\Mike2.txt 

हालांकि, अगर मैं मर्क्युरियल का उपयोग क्लोन करने के लिए, मैं एक ही परिणाम नहीं मिलता :

[email protected] C:\Users\mcaron 
> which hg 
C:\Program Files (x86)\Mercurial\\hg.EXE 
[email protected] C:\temp 
> hg status demo 
[email protected] C:\temp 
> hg log demo 
changeset: 0:6db7092740d5 
tag:   tip 
user:  Michael Caron <[email protected]> 
date:  Wed Mar 24 16:08:38 2010 -0500 
summary:  first 

[email protected] C:\temp 
> hg clone demo demo2 
updating to branch default 
5 files updated, 0 files merged, 0 files removed, 0 files unresolved 
[email protected] C:\temp 
> fsutil hardlink list .\demo\mike.prtprp 
\temp\demo\mike.prtprp 
[email protected] C:\temp 
> fsutil hardlink list .\demo\mike1.prtprp 
\temp\demo\mike1.prtprp 
[email protected] C:\temp 
> fsutil hardlink list .\demo\mike1_2.prtprp 
\temp\demo\mike1_2.prtprp 
[email protected] C:\temp 
> fsutil hardlink list .\demo\mike2.prtprp 
\temp\demo\mike2.prtprp 

[email protected] C:\temp 
> hg --version 
Mercurial Distributed SCM (version 1.5) 

Copyright (C) 2005-2010 Matt Mackall <[email protected]> and others 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
[email protected] C:\temp 
> python -V 
Python 2.6.2 

क्या किसी ने विंडोज़ पर काम कर रहे क्लोनिंग के साथ क्लोनिंग किया है या यह समर्थित नहीं है? मैंने देखा कि TortoiseHg इंस्टॉलर एक पायथन 2.6 स्थापना के साथ आता है। यह भी ध्यान दिया गया है कि इसमें स्वयं का एचजी निष्पादन योग्य है (जिसे मैंने भी कोशिश की है और एक ही परिणाम प्राप्त करने के लिए)। क्या TortoiseHg और Mercurial प्रतिष्ठान समस्याएं पैदा कर सकता है?

+0

क्या यह भी हो सकता है कि हार्ड-लिंक क्लोनिंग का उपयोग करने से पहले एक रेपो को एक निश्चित आकार होना चाहिए? –

+0

नहीं, आकार के लिए कोई चेक नहीं है। – tonfa

+2

ने उत्तर दिया: http://kiln.stackexchange.com/questions/986/how-to-get-hardlink-cloning-on- विन्डोज़ – tonfa

उत्तर

9

हाँ, आपको जवाब मिला: हार्डलिंकिंग रेपो (.hg) में काम करने वाली निर्देशिका नहीं है। इस प्रकार, यदि आप -U के साथ क्लोन बनाते हैं तो आपके क्लोन में कोई अतिरिक्त डिस्कस्पेस नहीं होता है। एक नो-वर्किंग-डायर क्लोन सर्वर की तरफ एक शानदार विकल्प है, और कभी-कभी डेस्कटॉप पर भी उपयोगी होता है। यदि आप भूल जाते हैं- यू आप हमेशा hg update -r null के साथ रेपो के कामकाजी डीआईआर से छुटकारा पा सकते हैं जो शून्य संशोधन के लिए अद्यतन करता है, जो किसी भी फाइल को जोड़ने की भविष्यवाणी करता है।