बेहद linear Git history बनाए रखना
(westling.dev)- पहला commit इस तरह मैनेज करना कि उसका hash
0000000से शुरू हो और दूसरा0000001की तरह बढ़े, ताकि नंबर सहज रूप से दिखें - ऐसे hash header values खोजने के लिए commit message में junk data डालकर SHA-1 hash को adjust करना पड़ता है
- MacBook पर
githashcrashtool का उपयोग करने पर 8-character hash header के लिए 5 मिनट, और 6-character के लिए 1 सेकंड के भीतर इसे पाया जा सकता है bash-glueका उपयोग करके इसेgit linearizeनाम से automate किया गया- hash generation backend के रूप में
lucky-commitका उपयोग किया गया है, और GPU का उपयोग करने पर यह 20x तेज़ी से generate हो सकता है
→lucky-commitjunk text की बजाय invisible whitespace characters का उपयोग करके commit message को modify करता है, इसलिए देखने में भी यह बुरा नहीं लगता
9 टिप्पणियां
मज़ेदार है lol पहले 8 अक्षर हों तो जंक डेटा इतना लंबा भी नहीं होता।
हाहाहा... अगर Linus इसे देखें तो वह क्या कहेंगे, यह जानने की बहुत उत्सुकता है..
ब्लॉकचेन nonce वैल्यू कैलकुलेट करने जैसा कुछ....
बस svn इस्तेमाल कर लो, तब revision numbers कितने साफ़-सुथरे तरीके से जुड़ते जाएंगे......
क्षमा करें, लेकिन अगर पहला 0000000 है, तो क्या दूसरा 0000001 नहीं होना चाहिए? लगता है टाइपो हो गया है, हाहा..
उफ़, हाहा, मैंने इसे ठीक कर दिया है।
यह तो लगभग जुनून की हद तक साफ-सुथरा लग रहा है.
फिर भी, आइडिया सोचना और उसे अमल में लाना काबिल-ए-तारीफ़ है.
क्या यह बस एक साधारण brute-force तरीका है?
यह तो Bitcoin mining जैसा तरीका है lol
GitHub को एक्सचेंज बना दो!