DiffsHub
(diffshub.com)- जब बड़े GitHub diff को ब्राउज़र में जल्दी से देखना हो, तो DiffsHub एक ऐसा टूल है जो सार्वजनिक diff को virtualized interface में दिखाता है
- GitHub URL में
github.comकोdiffshub.comसे बदलने पर PR, compare, commit, diff, patch बदलावों को तुरंत देखा जा सकता है - किसी अलग conversion प्रक्रिया के बिना, यह मौजूदा URL structure को वैसे ही रखता है, इसलिए
github.com/org/repo/pull/numberकोdiffshub.com/org/repo/pull/numberकी तरह बदलकर एक्सेस किया जा सकता है - Linux
v6.0...v7.0जैसे लाखों लाइनों के compare भी संभाले जा सकते हैं, लेकिन मोबाइल ब्राउज़र में कभी-कभी crash हो सकता है - GitHub में 100k लाइनों से बड़े diff पर first-byte response में देरी हो सकती है और यह हमेशा स्थिर रूप से उपलब्ध नहीं होता, इसलिए बड़े बदलावों की review के लिए इसे एक विकल्प माना जा सकता है
GitHub URL को वैसे ही इस्तेमाल करने वाला diff viewer
- DiffsHub एक ऐसा टूल है जो सार्वजनिक GitHub diff को तेज़ और बेहतर दिखने वाले virtualized interface में देखने देता है
- यह PR, compare, commit, diff, patch को सपोर्ट करता है
- उपयोगकर्ता GitHub URL में सिर्फ domain बदलकर एक्सेस करता है
github.com/org/repo/pull/numberdiffshub.com/org/repo/pull/number
लाखों लाइनों वाले diff और सीमाएँ
- DiffsHub लाखों लाइनों के compare भी संभाल सकता है
- उदाहरण के तौर पर Linux v6.0...v7.0 compare देखा जा सकता है
- ऐसे बड़े compare मोबाइल ब्राउज़र में कभी-कभी crash कर सकते हैं
- GitHub 100k लाइनों से बड़े diff को delayed first byte के साथ अस्थिर तरीके से उपलब्ध करा सकता है
1 टिप्पणियां
Lobste.rs की राय
मैं यह समझने की कोशिश कर रहा था कि diff देखने का vibecoding टैग से क्या संबंध है
बाद में संदर्भ और ड्रामा समझ में आया, और यह भी कि ऐसा क्यों हुआ। शोर मचाने के लिए @quad से माफ़ी, और अब देख रहा हूँ कि टैग भी हटा दिया गया है
मसलन, कम code quality, कम commits, यहाँ तक कि repository में CLAUDE.md होने जैसी वजहों से भी vibecoding टैग लगा देते हैं, जो ज़्यादा मायने रखता नहीं लगता
अतिरिक्त संदर्भ के लिए यह पोस्ट प्रासंगिक लगती है: On Rendering Diffs
homepage पर लिंक किए गए Linux diff को देखते समय भी यह काफ़ी smooth लगा, जो प्रभावशाली था। scrollbar को सीधे drag करके देखिए, समझ आ जाएगा। काश Github या दूसरे browser-based diff editors, और काम पर इस्तेमाल होने वाला Graphite भी इतने smooth होते
दूसरी तरफ़, यह भी अजीब है कि मैं ऐसी चीज़ पर प्रभावित हो रहा हूँ। क्या यह वैसे भी standard नहीं होना चाहिए?
शाब्दिक रूप से कई महीनों का full-time काम सिर्फ़ diff को तेज़ी से render कराने में गया
वैसे, इस पर “vibecoding” टैग लगा था, लेकिन मुझे अब भी समझ नहीं आता, और यह काम उस तरह का बिल्कुल नहीं था। इसका ज़्यादातर हिस्सा कठिन research, browser implementation code पढ़ना, trial and error, और समस्या को गहराई से सही तरीके से समझना था
बहुत सीमित दायरे और साफ़ reward वाले exploration work में agent loops का इस्तेमाल हुआ था, लेकिन मेरी जानकारी में कहीं भी बिना इंसानी insight और review के कुछ नहीं डाला गया। लगता है blog post में भी इस हिस्से का ज़िक्र है, और पूरे काम में इसका हिस्सा सच में बहुत छोटा था। सिर्फ़ इसी वजह से इस engineering effort को कमतर आँकना ठीक नहीं है
मैं ज़ोर देकर कहूँगा कि blog post पढ़ें या code देखें। यह शानदार काम है और इससे बहुत कुछ सीखा जा सकता है
इसे खुद test करने के लिए मैंने एक bookmarklet बनाया: अफ़सोस, बहुत से PRs, ख़ासकर बड़े PRs में comment functionality चाहिए होती है। देखना होगा कि Pierre इसे कब इस क्षेत्र तक ले जाता है और उदाहरण के लिए https://www.reviewable.io/ जैसा कुछ बनाता है
npmjs पर यह Apache 2 बताता है, लेकिन repository में license नहीं है और package.json में
"private":trueभी है, इसलिए वजह समझना मुश्किल थाजवाब शायद यह है कि हर directory अलग-अलग तरीके से licensed है: https://github.com/pierrecomputer/pierre/…
और लगता है diffshub ख़ुद open source हिस्से में शामिल नहीं है: https://github.com/pierrecomputer/pierre/…
इस तरह की surgical licensing पद्धति https://github.com/pierrecomputer/pierre/… जैसी directories को अस्पष्ट स्थिति में छोड़ देती है। उस directory में Apache 2 LICENCE.md नहीं है, हालाँकि अगर package.json field को authoritative माना जाए तो बात अलग हो सकती है
UI contrast को छोड़कर Github से बेहतर दिखता है। accessibility के बारे में पक्का नहीं कह सकता
वैसे, Github के हर pull request में आखिर में
.diffजोड़ने पर diff मिल सकता हैउदाहरण: https://github.com/oven-sh/bun/pull/30412.diff
और
.patchजोड़ने परgit amको देने लायक format भी मिल जाता है: https://github.com/oven-sh/bun/pull/30412.patcherror: too big or took too long to generateक्या यह PR जानबूझकर इसी वजह से चुना गया था? :D
हो सकता है tools से मेरी expectations दूसरों से कम हों, लेकिन जब इसे Github की built-in functionality से तुलना करता हूँ तो practical difference मुझे साफ़ नहीं दिखता
सब लोग यह कहकर दुख जताते हैं कि Github कितना खराब है, लेकिन मेरा अनुभव वैसा नहीं रहा। समझ नहीं आता कि Github की जगह यह क्यों इस्तेमाल करूँ
ऐतिहासिक रूप से यह मेरा सामान्य अनुभव रहा है, और इसमें यह भी समझाया है कि speed क्यों महत्वपूर्ण है। जब कोई काम काफ़ी देर तक धीमा रहता है, तो मेरा ध्यान भटकने लगता है, और इससे flow state काफ़ी बिगड़ जाती है
वीडियो में PR खोलने और किसी खास file तक जाने में लगने वाले समय की side-by-side तुलना है। मेरे लिए यह काफ़ी सामान्य रोज़मर्रा का काम है
https://x.com/mitchellh/status/2057229385963618787
यह pulldash(coder.com द्वारा बनाया गया) या difit(localhost page खोलने वाला CLI) से काफ़ी मिलता-जुलता लगता है
मुझे दोनों ज़्यादा पसंद नहीं हैं। pulldash थोड़ा laggy था और difit में अतिरिक्त मेहनत चाहिए थी। self-review के लिए मैं अभी git tree compare VSCode extension इस्तेमाल करता हूँ
यह तेज़ है और इसका overall visual design भी मुझे पसंद है। मैंने इसे अपने एक PR पर आज़माया, और यह काफ़ी ठीक लगा; शायद इसे PC पर bookmark भी कर लूँ