में सॉफ्ट लिंक क्या Mercurial में NIX नरम- या निर्देशिका या फ़ाइलों के लिए हार्ड-लिंक में कुछ समकक्ष है।Mercurial
मूल रूप से है कि एक फ़ाइल (या निर्देशिका) एक फ़ाइल "कहीं और" से जुड़ा हुआ है और उस स्थान के संस्करण
में सॉफ्ट लिंक क्या Mercurial में NIX नरम- या निर्देशिका या फ़ाइलों के लिए हार्ड-लिंक में कुछ समकक्ष है।Mercurial
मूल रूप से है कि एक फ़ाइल (या निर्देशिका) एक फ़ाइल "कहीं और" से जुड़ा हुआ है और उस स्थान के संस्करण
मर्क्युरियल संस्करणों नरम (एक नियमित रूप से शाखा मुझे लगता है, जहां एक विलय करने के लिए होता है के विपरीत) इस प्रकार है लिंक जो भंडार के लिए आंतरिक हैं बस महान हैं। यह उन्हें पहचान लेगा, उन्हें रिकॉर्ड करेगा, और उन्हें आपके लिए बनाएगा। क्या कोई विशिष्ट उपयोग केस है जिसे आप ढूंढ रहे हैं? भंडार के बाहर पहुंचने वाले लिंक की सबसे नज़दीकी चीज एक सबप्रो है, जो किसी अन्य रेपो के विशिष्ट संस्करण के लिए सूचक है।
सिमलिंक काम
(df)Ry4ans-MacBook-Air:~ ry4an$ hg init olav
(df)Ry4ans-MacBook-Air:~ ry4an$ cd olav/
(df)Ry4ans-MacBook-Air:olav ry4an$ echo this > target
(df)Ry4ans-MacBook-Air:olav ry4an$ ln -s target link
(df)Ry4ans-MacBook-Air:olav ry4an$ ls -l
total 16
lrwxr-xr-x 1 ry4an staff 6B Feb 16 19:25 [email protected] -> target
-rw-r--r-- 1 ry4an staff 5B Feb 16 19:25 target
(df)Ry4ans-MacBook-Air:olav ry4an$ hg commit -A -m "link and its target"
adding link
adding target
(df)Ry4ans-MacBook-Air:olav ry4an$ hg log -p
changeset: 0:42a41a431661
tag: tip
user: Ry4an Brase <[email protected]>
date: Sat Feb 16 19:26:17 2013 -0500
summary: link and its target
diff -r 000000000000 -r 42a41a431661 link
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/link Sat Feb 16 19:26:17 2013 -0500
@@ -0,0 +1,1 @@
+target
\ No newline at end of file
diff -r 000000000000 -r 42a41a431661 target
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/target Sat Feb 16 19:26:17 2013 -0500
@@ -0,0 +1,1 @@
+this
(df)Ry4ans-MacBook-Air:olav ry4an$ hg update null
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
(df)Ry4ans-MacBook-Air:olav ry4an$ ls -l
(df)Ry4ans-MacBook-Air:olav ry4an$ hg update tip
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(df)Ry4ans-MacBook-Air:olav ry4an$ ls -l
total 16
lrwxr-xr-x 1 ry4an staff 6B Feb 16 19:26 [email protected] -> target
-rw-r--r-- 1 ry4an staff 5B Feb 16 19:26 target
लेकिन hardlinks नहीं
$hg commit -Am "hardlinks target"
adding link
adding target
$hg log -p
changeset: 0:ec9407634133
tag: tip
user: Chris Wesseling <[email protected]>
date: Wed Mar 13 23:14:44 2013 +0100
summary: hardlinks target
diff -r 000000000000 -r ec9407634133 link
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/link Wed Mar 13 23:14:44 2013 +0100
@@ -0,0 +1,1 @@
+foo
diff -r 000000000000 -r ec9407634133 target
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/target Wed Mar 13 23:14:44 2013 +0100
@@ -0,0 +1,1 @@
+foo
$ls -lin
total 8
276702 -rw-r--r-- 2 1204653 5900 4 13 mrt 23:14 link
276702 -rw-r--r-- 2 1204653 5900 4 13 mrt 23:14 target
$hg update null
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$hg update tip
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ls -lin
total 8
276719 -rw-r--r-- 1 1204653 5900 4 13 mrt 23:15 link
276721 -rw-r--r-- 1 1204653 5900 4 13 mrt 23:15 target
करना * nix प्रणाली, hg
Mercurial आडिट सांकेतिक लिंक ("सिमलिंक") के लिए भेजा पथ सुरक्षा के लिए पर। उदाहरण के लिए, पूर्ण और खाली पथ असुरक्षित माना जाता है और इसलिए इसे भंडार में नहीं जोड़ा जाएगा।
Mercurial डेवलपर्स ने इस सुविधा को दस्तावेज नहीं किया है। हालांकि, the source code contains a comment कुछ हद तक एक अस्पष्ट स्पष्टीकरण के साथ:
class pathauditor(object):
'''ensure that a filesystem path contains no banned components.
the following properties of a path are checked:
- ends with a directory separator
- under top-level .hg
- starts at the root of a windows drive
- contains ".."
- traverses a symlink (e.g. a/symlink_here/b)
- inside a nested repository (a callback can be used to approve
some nested repositories, e.g., subrepositories)
'''
Windows पर, सांकेतिक लिंक विभिन्न कारणों के लिए समर्थित नहीं हैं, देखें:
पूर्ण पथ के लिए प्रतीकात्मक लिंक एक Mercurial रेपो में जोड़ा जा सकता है। मुझे नहीं पता कि इस संदर्भ में "खाली पथ" का क्या अर्थ है। – Juan
तुम्हारा मतलब यह होगा फ़ाइलों को संस्करण में एनआईक्स सॉफ्ट लिंक को संभाल लें? – Olav
बिल्कुल यही है। ऊपर अद्यतन देखें। –
अपडेट @ क्रिस-वेस्सेलिंग के लिए धन्यवाद उन्होंने सॉफ्ट/सीएम लिंक के बारे में पूछा, लेकिन एचटी हार्डलिंक जानकारी भी अच्छी है। –