दिलचस्प पोस्ट
सत्र का उपयोग किए बिना एएसपी.एक्स.के. के पृष्ठों के मूल्यों को कैसे पारित किया जाए एंड्रॉइड आयाम के बीच अंतर: pt और डीपी जावास्क्रिप्ट के साथ सर्वर मतदान PHP मेल फ़ंक्शन ई-मेल भेजने को पूरा नहीं करता है Matplotlib में दिनांक टिक और रोटेशन SQL सर्वर से डेटाबेस की सूची प्राप्त करें .NET – डेटाटेबल में जेनेरिक संग्रह कन्वर्ट PHP 7 MongoDB क्लाइंट / ड्रायवर स्थापित करना? कोणीय UI- राउटर $ urlRouterProvider। जब काम नहीं कर रहा है * अब * क्या पिछले ईवेंट को अधिलेखित किए बिना कई ईवेंट हैंडलर्स को JqGrid ईवेंट में बाँधना संभव है? Symfony2 – एसेटिक – सीएसएस में लोड चित्र Linq कास्ट <T> ऑपरेशन क्यों विफल हो जाता है जब मेरे पास एक अंतर्निहित डाली परिभाषित है? तत्वों के सेट में एक विशेषता का न्यूनतम मूल्य खोजने के लिए मैं कैसे XPath का उपयोग कर सकता हूं? ग्रहण हॉटकी: टैब्स के बीच कैसे स्विच करें? JavaFx लेबल में बदलते मूल्य प्रदर्शित करना

उपक्रम का $ यूआरएल $ कीवर्ड विस्तार के बराबर Git

मैं तोड़फोड़ से जीआईटी तक पलायन करने पर विचार कर रहा हूं। हमारे सिसडमिन के लिए कॉन्जेक्शन फ़ाइलों जैसी चीज़ों का प्रबंधन करने के लिए हम चीजों में से एक का उपयोग करते हैं इसके लिए, हमने प्रत्येक फ़ाइल में $URL$ डाल दिया, जो फाड़ के स्थान को उपरि वृक्ष में फैलता है। इससे प्रशासकों को कुछ मनमानी होस्ट पर एक फ़ाइल को देखने की सुविधा मिलती है और यह पता लगा है कि पेड़ में कहां से आया था।

निकटतम एनालॉग मुझे मिल सकता है gitattributes। filter= डायरेक्टिव है, लेकिन ऐसा लगता है कि git फ़िल्टरिंग के लिए फ़िल्टरिंग नहीं करता है, जो इसे फ़िल्टरिंग करता है, जिसके लिए $URL$ को पथ में बदलने के लिए आवश्यक होगा

ident निर्देश भी हैं, जो $Id$ को ब्लॉब हैश में बदल देगा। यह उपयोगी हो सकता है अगर कोई उस पथ को वापस पथ में मैप कर सकता है, लेकिन मेरे git-fu पर्याप्त मजबूत नहीं है

कोई सुझाव?

कार्यप्रवाह निम्नानुसार है:

  1. व्यवस्थापक वीसीएस रेपो में परिवर्तन करता है
  2. व्यवस्थापक एक केंद्रीय स्थान को अद्यतन करता है जिसने रेपो की जांच की है
  3. व्यवस्थापक ने cfengine का उपयोग करके मेजबान परिवर्तन को खींच लिया

वेब के समाधान से एकत्रित समाधान "उपक्रम का $ यूआरएल $ कीवर्ड विस्तार के बराबर Git"

जैसा कि "जीआईटी में svn propset svn:keywords या प्री- / पोस्ट-कमिट हुक हैं?" , जीआईटी कीवर्ड विस्तार का समर्थन नहीं करता है।

" जीआईटी-एसवी के साथ एसवीएन कीवर्ड विस्तार के साथ काम करना " git config filter पर आधारित एक समाधान प्रदान करता है (जो वास्तव में आप नहीं है) और / या gitattributes ।


निकटतम उदाहरण अगर फ़ाइल जानकारी विस्तार मैं यह अभी भी smudge / साफ दृष्टिकोण पर आधारित है, इस git हैश फिल्टर के साथ मिल गया है , लेकिन साफ ​​हिस्सा फ़ाइल से इसे हटा, और कोई रास्ता नहीं मिल सकता है।

यह धागा वास्तव में यह संदेश देता है (साथ ही साथ कुछ जीआईटी-फ़ू आदेशों का उल्लेख किया जाता है जो आपके लिए क्या देख रहे हैं, मैंने उन्हें परीक्षण नहीं किया है):

वैसे भी, छोटी तकनीकी कमियों की वजह से धुंध / साफ समस्या का तत्काल समाधान नहीं देता:

  • धब्बा फिल्टर को चेक आउट होने वाले फ़ाइल का एक नाम नहीं दिया गया है, इसलिए संभवतः कथित पहचानकर्ता खोजना संभव नहीं है।
    हालांकि, इस तथ्य से कम किया जाता है कि 'धुंध' केवल बदली गई फ़ाइलों के लिए चल रहा है, इसलिए अंतिम प्रतिबद्ध एक आवश्यक है

  • धब्बा फिल्टर एक प्रतिबद्ध पहचानकर्ता को पारित नहीं किया गया है। यह थोड़ी अधिक गंभीर है, क्योंकि यह जानकारी अन्यथा से नहीं मिलती है
    मैंने 'हेड' मान का इस्तेमाल करने की कोशिश की, लेकिन जाहिरा तौर पर फिलहाल 'स्मडगे' चल रहा है, इसलिए अभी तक अपडेट नहीं किया जा रहा है, इसलिए फाइल को "पिछले" कमेंट की तारीख के साथ खत्म हो जाता है, बजाय कमिट की जाँच की जा रही है।
    "पिछला" का अर्थ है कि पहले की जांच की गई थी। समस्या बदतर हो जाती है अगर अलग शाखा चेक आउट होती है, क्योंकि फाइल को पिछली शाखा का टाइमस्टैम्प मिलता है।

एफ़एआईआईआर, धब्बा फिल्टर में सूचना की कमी जानबूझकर थी, यह धुंध / स्वच्छ तंत्र के इस विशेष उपयोग को हतोत्साहित करने के लिए। हालांकि, मुझे लगता है कि इसे पीटर के इस्तेमाल के मामले में दोबारा विचार किया जा सकता है: वेबसर्वर पर तत्काल प्रकाशन के लिए "चेकआउट-केवल" कार्यक्षेत्र।
वैकल्पिक रूप से, इस उपयोग के मामले में रूचि रखने वाला कोई भी व्यक्ति साइट-स्थानीय पैच के रूप में अतिरिक्त धब्बा तर्क लागू कर सकता है।

और फिर, वहाँ छोटे annoyances, जो अपरिहार्य लगता है: यदि आप 'साफ फिल्टर' परिवर्तन और पहले संशोधन की जांच, यह संशोधनों के रूप में रिपोर्ट किया जाएगा (बदल 'साफ' परिभाषा के कारण)।

चूंकि आजकल %f विकल्प है, चूंकि git-rcs-keywords जैसे स्क्रिप्ट कार्य कर सकते हैं।

यह पहले से ही इस उत्तर में उल्लेख किया गया है।

gitattributes (5) मैनपेज :

 Sequence "%f" on the filter command line is replaced with the name of the file the filter is working on. A filter might use this in keyword substitution. For example: [filter "p4"] clean = git-p4-filter --clean %f smudge = git-p4-filter --smudge %f 

समस्या पूरी तरह से अलग कोण से आ रही है, अंत में मेजबानों के सवाल में फाइल कैसे समाप्त होती है? मुझे लगता है कि यह या तो वहां से सीधे जांच की जाती है, या किसी अन्य मेजबान पर पहले से ही चेक आउट रिपॉजिटरी से नकल की गई है?

यदि हां, तो क्या आप अपनी प्रक्रिया को संशोधित कर सकते हैं ताकि फाइलों को जीआईटी रिपॉजिटरी में देखा जा सके, और एक स्क्रिप्ट $URL$ या चेकआउट के बाद अन्य कीवर्ड विस्तार हो । इस तरह से आप जो कुछ भी बदले हुए विकल्प कर सकते हैं, और केवल एक चेक आउट किए गए भंडार में एक स्क्रिप्ट के द्वारा सोचा जा सकता है।

हम अपने तैनाती में एक "विहित पथ" समाधान का उपयोग करते हैं (वे सभी आंतरिक हैं, FWIW)।

सभी सॉफ्टवेयर उदा / डी / एसएच / एक्सवाईज़ / एसी या डी: \ SW \ xyz \ एसी में चला जाता है

तैनात फाइलों के सभी यूआरएल प्रतिबिंबित करते हैं जैसे कि http: // host / d / sw / xyz / एसी

रिपॉजिटरी फ़ाइलों के लिए URL "sw" पर शुरू होता है जैसे git: // githost / gitrepo / xyz / ac

हम इन विहित पथ को विन्यास में सांकेतिक शब्दों में बदलते हैं (इसे कभी भी बदलने की जरूरत है), और हमारे पास लिपियों / एपीआई हैं जो उड़ान भरने वाले यूआरएल को घटकों के बीच गतिशील जोड़ने के संदर्भ देते हैं।