Giả sử tôi sao chép một kho lưu trữ Mercurial từ xa (qua mạng cục bộ hoặc thậm chí qua Internet) để thử một cái gì đó.
Tôi làm việc trong bản sao của tôi, thực hiện một vài cam kết ... và sau đó tôi nhận ra rằng những thay đổi của tôi không có ý nghĩa và tôi phải bắt đầu lại.Cách nhanh nhất để "đặt lại" kho Mercurial sang Phiên bản X (không nhân bản)
Vì vậy, tôi muốn có một bản sao "mới" một lần nữa, từ cùng một kho lưu trữ nguồn.
Về cơ bản, tôi muốn "đặt lại" repo địa phương của mình về điểm trước khi tôi bắt đầu thử nghiệm.
Cách tốt nhất/nhanh nhất để thực hiện việc này là gì?
Cách đơn giản nhất là tạo một bản sao mới, nhưng sau đó HG sao chép toàn bộ repo và toàn bộ lịch sử qua mạng một lần nữa.
Nếu repo thực sự lớn, việc này sẽ mất thời gian và/hoặc chặn mạng.
Tôi cố gắng tạo một bản sao mới vào cùng một thư mục (hy vọng HG sẽ nhận ra điều này và chỉ cập nhật các tệp đã thay đổi và lịch sử) nhưng dường như cũng sao chép toàn bộ repo.
Tôi có thể "hg rollback", nhưng điều này chỉ trả về lần commit cuối cùng. Nếu tôi thực hiện một số cam kết, tôi chỉ có thể hoàn tác lần commit cuối cùng. Vì vậy, tôi không thể thiết lập lại repo đến điểm trước khi tôi bắt đầu cam kết.
Bất kỳ ý tưởng nào?
Có thực sự không có cách nào khác hơn để sao chép toàn bộ điều một lần nữa?
(lưu ý: một giải pháp với TortoiseHg sẽ được tốt đẹp ... Tôi thích này trong dòng lệnh)
Điều đó sẽ không thực sự cuộn hệ thống trở lại trạng thái giống như khi nó được sao chép - bạn vẫn có các cam kết được tạo từ 'ngày hôm qua' –