เมื่อเช้านี้ฉันสามารถยิงตัวเองได้ด้วยการทำสิ่งต่อไปนี้:
- เริ่มดำเนินการเปลี่ยนแปลงโครงการของฉัน
- ทำการแก้ไขหลายไฟล์หลายไฟล์
- ตระหนักว่าแนวทางของฉันผิดทั้งหมดและฉันต้องเริ่มต้นใหม่
- cd ไปที่ระดับบนสุดของโปรเจ็กต์ของฉันและทำ "svn --recursive revert" เพื่อกู้คืนแซนด์บ็อกซ์ในเครื่องของฉันกลับสู่สถานะก่อนการเปลี่ยนแปลง
- ร้องโหยหวนด้วยความสยดสยองเมื่อฉันตระหนักว่ามีการเปลี่ยนแปลงอื่น ๆ อีกมากมายที่ค้างอยู่ในแซนด์บ็อกซ์ในพื้นที่ของฉันและฉันเพิ่งลบมันไปทั้งหมด (เซิร์ฟเวอร์ svn หยุดทำงานเมื่อวันศุกร์ที่แล้วดังนั้นฉันจึงไม่สามารถเช็คอินได้และฉันก็ลืมพวกเขาไปในช่วงสุดสัปดาห์)
โชคดีในกรณีนี้ฉันได้ทำการ "svn diff> temp.txt" ก่อนออกจากงานในวันศุกร์และไฟล์ temp.txt ยังอยู่ในฮาร์ดไดรฟ์ของฉันดังนั้นฉันจึงสามารถป้อนไฟล์นั้นลงใน "โปรแกรมแก้ไข" และกู้คืน การเปลี่ยนแปลงที่หายไป
แต่สำหรับการอ้างอิงในอนาคตของฉัน (เช่นในครั้งต่อไปที่ฉันทำผิดพลาดแบบเดิม ๆ ) ... มีวิธีใดที่จะบอกให้ svn เลิกทำการ "svn revert" ได้หรือไม่? svn เก็บข้อมูลสำรองของเครื่องใน / ไม่ได้เช็คอินแตกต่างจากที่ใดหรือไม่