ค้นหาไดเร็กทอรี ไฟล์ และแผนผังที่ซ้ำกันและทับซ้อนกันในระบบไฟล์
เพิ่มบรรทัดนี้ลงใน Gemfile ของแอปพลิเคชันของคุณ:
gem 'dupless'
แล้วดำเนินการ:
$ bundle
หรือติดตั้งด้วยตัวเองเป็น:
$ gem install dupless
มีแอปพลิเคชันสองรายการซึ่งมีการใช้งานที่แตกต่างกัน
ซึ่งจะค้นหาไฟล์และไดเร็กทอรีที่ซ้ำกันซึ่งอย่างน้อยก็ตรงกับไฟล์ในไดเร็กทอรีอื่นเป็นบางส่วน
การเปรียบเทียบไฟล์จะขึ้นอยู่กับเนื้อหาของไฟล์ ไม่ใช่ชื่อไฟล์ ดังนั้นจะเหมือนกับ diff
สิ่งนี้ใช้แคชเพื่อหลีกเลี่ยงการอ่านไฟล์ซ้ำ ๆ
เมื่อคู่ของไฟล์ (หรือมากกว่า) ตรงกันจากสองไดเร็กทอรี ไดเร็กทอรีนั้นจะถูกเปรียบเทียบ และอาจเป็นหนึ่งในประเภทเหล่านี้:
เหมือนกัน: แต่ละไฟล์ในทั้งสองไดเร็กทอรีมีข้อมูลตรงกันในไดเร็กทอรีอื่น
ประกอบด้วย: แต่ละไฟล์ในไดเร็กทอรีหนึ่งมีไฟล์อยู่ในไดเร็กทอรีอื่น กล่าวคือ ไดเร็กทอรีแรกเป็น superset ของไดเร็กทอรีที่สอง
ไม่ตรงกัน: สองไดเร็กทอรีมีไฟล์เหมือนกัน เช่น มีส่วนตัดกันขององค์ประกอบอย่างน้อยหนึ่งรายการ
สิ่งนี้จะค้นหาลำดับชั้นของไฟล์และไดเร็กทอรีที่ซ้ำกัน โดยอิงตามชื่อเท่านั้น (ไม่ใช่ในเนื้อหาไฟล์ ตรงกันข้ามกับ dupless
)
สองไดเรกทอรีจะเท่ากัน (เหมือนกัน) หากไดเรกทอรีและไฟล์ทั้งหมดภายในแต่ละไดเรกทอรีตรงกันในไดเรกทอรีที่สอง
สิ่งนี้ไม่ได้ใช้แคช
Supersets ("ประกอบด้วย") และทางแยก ("ไม่ตรงกัน") จะไม่ถูกคำนวณ
หลังจากตรวจสอบ repo แล้ว ให้รัน bin/setup
เพื่อติดตั้งการขึ้นต่อกัน จากนั้นรัน rake test
เพื่อทำการทดสอบ คุณยังสามารถเรียกใช้ bin/console
เพื่อรับข้อความโต้ตอบที่จะช่วยให้คุณสามารถทดลองได้
หากต้องการติดตั้ง gem นี้ลงในเครื่องของคุณ ให้รัน bundle exec rake install
หากต้องการออกเวอร์ชันใหม่ ให้อัปเดตหมายเลขเวอร์ชันใน version.rb
จากนั้นเรียกใช้ bundle exec rake release
ซึ่งจะสร้างแท็ก git สำหรับเวอร์ชัน กด git commits และแท็ก แล้วส่งไฟล์ .gem
ไปที่ rubygems.org
รายงานข้อผิดพลาดและคำขอดึงข้อมูลค่อนข้างได้รับการต้อนรับบน GitHub ที่ https://github.com/jpace/dupless
อัญมณีนี้มีให้ใช้งานในรูปแบบโอเพ่นซอร์สภายใต้เงื่อนไขของใบอนุญาต MIT