DiffsHub
(diffshub.com)- เมื่อต้องการไล่ดู GitHub diff ขนาดใหญ่ อย่างรวดเร็วในเบราว์เซอร์ DiffsHub คือเครื่องมือที่แสดง public diff ด้วย อินเทอร์เฟซแบบ virtualization
- เพียงเปลี่ยน
github.comใน URL ของ GitHub เป็นdiffshub.comก็สามารถดูการเปลี่ยนแปลงของ PR, compare, commit, diff และ patch ได้ทันที - ใช้งานได้โดยคงโครงสร้าง URL เดิมไว้โดยไม่ต้องผ่านขั้นตอนแปลงเพิ่มเติม เช่น เปลี่ยนจาก
github.com/org/repo/pull/numberเป็นdiffshub.com/org/repo/pull/number - รองรับการเปรียบเทียบระดับ หลายล้านบรรทัด อย่าง Linux
v6.0...v7.0ได้ แต่บนเบราว์เซอร์มือถืออาจแครชเป็นครั้งคราว - GitHub อาจตอบสนองด้วย first byte ที่ล่าช้าและให้บริการได้ไม่เสถียรสำหรับ diff ที่เกิน 100k บรรทัด จึงอาจเป็นทางเลือกสำหรับการรีวิวการเปลี่ยนแปลงขนาดใหญ่
โปรแกรมดู diff ที่ใช้ URL ของ GitHub ได้ตามเดิม
- DiffsHub เป็นเครื่องมือสำหรับดู public GitHub diff ด้วยอินเทอร์เฟซแบบ virtualization ที่รวดเร็วและอ่านง่าย
- รองรับ PR, compare, commit, diff, patch
- ผู้ใช้เข้าถึงได้โดยเปลี่ยนเฉพาะโดเมนใน URL ของ GitHub
github.com/org/repo/pull/numberdiffshub.com/org/repo/pull/number
diff ระดับหลายล้านบรรทัดและข้อจำกัด
- DiffsHub รองรับการเปรียบเทียบขนาดหลายล้านบรรทัดได้
- ตัวอย่างดูได้ที่ การเปรียบเทียบ Linux v6.0...v7.0
- การเปรียบเทียบขนาดใหญ่มากลักษณะนี้อาจทำให้ เบราว์เซอร์มือถือ แครชได้เป็นครั้งคราว
- GitHub อาจให้บริการ diff ที่เกิน 100k บรรทัด อย่างไม่เสถียร พร้อม first byte ที่ล่าช้า
1 ความคิดเห็น
ความคิดเห็นจาก Lobste.rs
ตอนแรกพยายามจะเข้าใจว่าการดู diff มันเกี่ยวอะไรกับ แท็ก vibecoding
จากนั้นก็ตามบริบทและดราม่าจนเข้าใจว่าทำไมถึงกลายเป็นแบบนี้ ขอโทษ @quad ที่ทำให้เกิดความวุ่นวาย และตอนนี้ก็เห็นแล้วว่าแท็กนั้นถูกลบออกไปแล้ว
ตัวอย่างเช่น แค่คุณภาพโค้ดต่ำ จำนวนคอมมิตน้อย หรือแม้แต่มี CLAUDE.md อยู่ในรีโพ ก็โดนติดแท็ก vibecoding กันแล้ว ซึ่งดูเหมือนไม่มีความหมายอะไรนัก
ถ้าเอาบริบทเพิ่ม โพสต์นี้ก็น่าจะเกี่ยวข้อง: On Rendering Diffs
ตอนลองดู Linux diff ที่ลิงก์ไว้บนหน้าโฮมเพจก็ลื่นมากจนน่าประทับใจ ลองลากสกรอลล์บาร์เองแล้วจะเห็นเลย อยากให้ Github หรือ diff editor บนเบราว์เซอร์อื่น ๆ รวมถึง Graphite ที่ใช้ในที่ทำงาน ลื่นได้ระดับนี้บ้าง
อีกมุมหนึ่งก็แปลกดีที่เราต้องมาทึ่งกับเรื่องแบบนี้ เพราะมันน่าจะเป็นมาตรฐานตั้งแต่แรกไม่ใช่หรือ
เอาจริง ๆ คือมีการทำงานเต็มเวลาหลายเดือนเพื่อให้ เรนเดอร์ diff ได้เร็ว
และถึงจะมีแท็ก “vibecoding” ติดอยู่ ฉันก็ยังไม่เข้าใจอยู่ดี เพราะงานนี้ไม่ใช่แบบนั้นเลย ส่วนใหญ่เป็นการค้นคว้ายาก ๆ อ่านโค้ด implementation ของเบราว์เซอร์ ลองผิดลองถูก และขุดปัญหาแบบวิศวกรรมจริงจัง
มีการใช้ agent loop กับงานสำรวจที่แคบมากและให้ผลตอบแทนชัดเจน แต่เท่าที่ฉันรู้ ไม่มีอะไรถูกใส่เข้าไปโดยไม่มี insight และการตรวจทานจากมนุษย์ บทความบล็อกก็น่าจะพูดถึงจุดนี้เหมือนกัน และมันเป็นสัดส่วนเล็กมากของงานทั้งหมด จะเอาแค่นั้นมาดูแคลน ความพยายามทางวิศวกรรม ก็ดูไม่สมเหตุสมผล
แนะนำอย่างมากให้อ่านบทความบล็อกหรือไปดูโค้ด งานนี้น่าทึ่งและมีอะไรให้เรียนรู้เยอะ
ฉันทำ bookmarklet ไว้สำหรับลองเอง: น่าเสียดายที่ PR จำนวนมาก โดยเฉพาะ PR ใหญ่ ๆ ยังต้องมีฟีเจอร์คอมเมนต์อยู่ คงต้องรอดูว่า Pierre จะขยายมาถึงพื้นที่นี้เมื่อไร และอาจทำอะไรคล้าย https://www.reviewable.io/ ได้หรือไม่
npmjs ระบุว่าเป็น Apache 2 แต่ในรีโพไม่มีไลเซนส์ และใน package.json ยังมี
"private":trueอยู่ด้วย เลยหาสาเหตุได้ยากคำตอบดูเหมือนจะเป็นว่าแต่ละไดเรกทอรีถูกไลเซนส์แยกกัน: https://github.com/pierrecomputer/pierre/…
และตัว diffshub เองก็ดูเหมือนจะไม่รวมอยู่ในส่วนโอเพนซอร์ส: https://github.com/pierrecomputer/pierre/…
วิธีทำ ไลเซนส์แบบผ่าตัดเฉพาะจุด แบบนี้ทำให้ไดเรกทอรีอย่าง https://github.com/pierrecomputer/pierre/… อยู่ในสถานะกำกวม เพราะในไดเรกทอรีนั้นไม่มี Apache 2 LICENCE.md แม้ว่าเรื่องนี้อาจเปลี่ยนได้ถ้าถือว่า ฟิลด์ใน package.json เป็นแหล่งอ้างอิงที่เชื่อถือได้
UI ดูดีกว่า Github ยกเว้นเรื่อง คอนทราสต์ ไม่แน่ใจเรื่องการเข้าถึง
เผื่อใครยังไม่รู้ pull request ทุกอันบน Github สามารถเติม
.diffต่อท้ายเพื่อดึง diff ได้เช่น: https://github.com/oven-sh/bun/pull/30412.diff
และถ้าเติม
.patchก็จะได้รูปแบบที่ส่งเข้าgit amได้: https://github.com/oven-sh/bun/pull/30412.patcherror: too big or took too long to generateเลือก PR นี้มาเพราะเหตุผลนี้โดยตั้งใจหรือเปล่า? :D
อาจเป็นไปได้ว่าฉันคาดหวังกับเครื่องมือต่ำกว่าคนอื่น แต่พอเทียบกับฟีเจอร์ใน Github เองแล้ว ฉันยังไม่ค่อยเห็น ความต่างเชิงปฏิบัติ
ทุกคนบ่นกันว่า Github แย่แค่ไหน แต่ฉันไม่เคยเจอประสบการณ์แบบเดียวกัน เลยยังไม่รู้ว่าทำไมต้องใช้สิ่งนี้แทน Github
ในอดีตนี่คือประสบการณ์ทั่วไปของฉัน และมันอธิบายได้ว่าทำไมความเร็วจึงสำคัญ ถ้างานบางอย่างช้าพอนานพอ ความคิดฉันจะลอยไปเรื่องอื่น และมันทำลาย สภาวะจดจ่อ อย่างมาก
ในวิดีโอมีการเทียบเวลาแบบเคียงกัน ระหว่างการเปิด PR แล้วไปยังไฟล์ที่ต้องการ ซึ่งเป็นงานประจำที่ฉันทำค่อนข้างบ่อย
https://x.com/mitchellh/status/2057229385963618787
ดูคล้าย pulldash(ทำโดย coder.com) หรือ difit(CLI ที่เปิดหน้า localhost) พอสมควร
ฉันไม่ค่อยชอบทั้งสองอย่าง pulldash มีอาการหน่วงนิด ๆ ส่วน difit ต้องออกแรงเพิ่ม สำหรับ self-review ตอนนี้ฉันใช้ส่วนขยาย VSCode git tree compare
อันนี้เร็วและฉันก็ชอบภาพรวมด้านดีไซน์ด้วย ฉันลองกับ PR ของตัวเองอันหนึ่งแล้วก็ดูดีพอสมควร และน่าจะบุ๊กมาร์กเก็บไว้ใช้บนพีซีได้