Tôi đang tìm kiếm một phần đối git commit --amend
nghịch trong Mercurial, tức là một cách để sửa đổi cam kết mà bản sao làm việc của tôi được liên kết đến. Tôi chỉ quan tâm đến cam kết cuối cùng, không phải là một cam kết trước đó tùy tiện.
Các yêu cầu cho thủ tục sửa đổi này là:
nếu có thể, nó không nên yêu cầu bất kỳ phần mở rộng. Nó không được yêu cầu các tiện ích mở rộng không mặc định , tức là các tiện ích mở rộng không đi kèm với bản cài đặt Mercurial chính thức.
nếu cam kết sửa đổi là một đầu của chi nhánh hiện tại của tôi, thì không có đầu mới nào được tạo. Nếu cam kết không phải là đầu, một đầu mới có thể được tạo.
thủ tục phải an toàn theo cách mà nếu vì bất kỳ lý do gì việc sửa đổi không thành công, tôi muốn có cùng một bản sao làm việc và trạng thái kho lưu trữ được khôi phục như trước khi sửa đổi. Nói cách khác, nếu bản sửa đổi có thể thất bại, cần có một quy trình không an toàn để khôi phục trạng thái bản sao và kho lưu trữ đang hoạt động. Tôi đang đề cập đến "các lỗi" nằm trong bản chất của quy trình sửa đổi (ví dụ như xung đột), không phải là các vấn đề liên quan đến hệ thống tệp (như hạn chế truy cập, không thể khóa tệp để viết, ... )
Cập nhật (1):
- thủ tục phải tự động hóa , do đó máy khách GUI có thể được thực hiện mà không cần bất kỳ tương tác người dùng nào.
Cập nhật (2):
- các tệp trong thư mục làm việc không được chạm vào (có thể có các khóa hệ thống tệp trên các tệp đã sửa đổi nhất định). Điều này đặc biệt có nghĩa là, một cách tiếp cận khả thi có thể không cần phải có một thư mục làm việc sạch.