2010-07-03 42 views
9

Tôi vừa chọn TortoiseHg để sử dụng cho điều khiển nguồn được phân phối trên Windows và cài đặt nó trên ổ đĩa C. Sau đó, tôi tạo một kho lưu trữ (nằm trong D: \ projects).TortoiseHg không thể cam kết - "Hệ thống không thể tìm thấy tệp được chỉ định"

Khi tôi cố gắng để thực hiện những thay đổi, nó mang lại cho tôi những lỗi

"hủy bỏ: Không: Hệ thống không thể tìm thấy một file nào đó"

trong một cửa sổ mới với tựa đề "Cam kết ". Điều này làm cho cam kết hủy bỏ. Nó không chỉ định bất kỳ tập tin, và khi tôi chạy hg --traceback commit -m 'Thư' nó mang lại cho đây là kết quả:

Traceback (most recent call last): 
    File "mercurial\dispatch.pyo", line 54, in _runcatch 
    File "mercurial\dispatch.pyo", line 483, in _dispatch 
    File "mercurial\dispatch.pyo", line 351, in runcommand 
    File "mercurial\dispatch.pyo", line 534, in _runcommand 
    File "mercurial\dispatch.pyo", line 488, in checkargs 
    File "mercurial\dispatch.pyo", line 481, in <lambda> 
    File "mercurial\util.pyo", line 420, in check 
    File "mercurial\commands.pyo", line 762, in commit 
    File "mercurial\cmdutil.pyo", line 1202, in commit 
    File "mercurial\commands.pyo", line 757, in commitfunc 
    File "mercurial\localrepo.pyo", line 816, in commit 
    File "mercurial\localrepo.pyo", line 1053, in status 
    File "mercurial\dirstate.pyo", line 629, in status 
    File "mercurial\dirstate.pyo", line 540, in walk 
    File "mercurial\localrepo.pyo", line 796, in fail 
Abort: Adding: The system cannot find the file specified 
abort: Adding: The system cannot find the file specified 

Tôi không biết điều gì khác tôi có thể cung cấp cho như thông tin gỡ lỗi, không có bất kỳ kinh nghiệm nào với chương trình.

Tôi đã định cấu hình TortoiseHg với cả tên người dùng trên toàn cầu và cho kho lưu trữ. Ngoài ra, kdiff3 được chỉ định là cả công cụ hợp nhất ba chiều và công cụ tìm khác biệt trực quan. Tôi đã không cố ý thay đổi bất kỳ cài đặt nào khác.

Cảm ơn bạn đã được trợ giúp và vui lòng yêu cầu thêm thông tin, tôi chỉ không biết phải đưa ra điều gì trong tình huống này.

+0

Tôi gặp lỗi tương tự và tôi không thể tìm thấy giải pháp cho việc này. Xin vui lòng cho chúng tôi một câu trả lời! –

+0

phiên bản nào của hg + windows, phiên bản nào của python? bỏ qua sau nếu python isnt yêu cầu. –

+0

TortoiseHg là phiên bản 1.1 với Mercurial 1.6. Tôi đang chạy Windows 7 64bits. –

Trả lời

1

Hãy thử điều này:

  1. Di TortoiseHG
  2. Khởi động lại hệ thống (về cơ bản để đảm bảo không có các quy trình từ rùa, chẳng hạn như giám sát tập tin, có thể đặt ổ khóa trên các tập tin)
  3. intall lệnh dòng hg
  4. làm thường xuyên hg commit -m "yourmessage"

Nếu công trình này, đó là nhiều khả năng hơn không t rằng công cụ giám sát từ TortoiseHg đang giữ một khóa trên một số tệp (applet khay hệ thống).

Cũng có thể là trường hợp người khác đang làm hơn (không phải TortoiseHg), ví dụ: biên tập viên? công cụ khác? v.v.

Cuối cùng, một lý do tại sao điều này có thể xảy ra là: một người nào đó lừa xung quanh với các tập tin bên trong thư mục repo .hg ... Nó dường như không phải là trường hợp mặc dù

+0

Tôi không ở vị trí mà tôi có thể khởi động lại vào lúc này, nhưng ngay cả khi TortoiseHg đã cài đặt 'hg commit' hoạt động. Và có, như bạn giả định, tôi đã không sửa đổi bất cứ điều gì trong thư mục .hg và không ai khác có quyền truy cập vào máy tính. Tôi sẽ gỡ cài đặt TortoiseHg và để lại một nhận xét khác khi tôi khởi động lại, trong trường hợp nó giúp ích chút nào. Ngoài ra, tôi không biết những gì bạn có nghĩa là "người khác đang làm hơn", nhưng tôi đã cố gắng chuyển tất cả các thiết lập trình soạn thảo để không xác định và nó vẫn không theo cùng một cách. – 31eee384

+0

Tôi đã thử nó trước khi bạn đăng câu trả lời này và nó hoạt động! Nhưng điều này không thực sự giải quyết được vấn đề "TortoiseHg". Tôi cũng đã cố gắng tạo ra một kho lưu trữ sạch và sau đó kéo dữ liệu, thay đổi một tập tin và cam kết, vấn đề vẫn tồn tại ... Tôi đoán tôi sẽ sử dụng nó theo cách cũ (dòng lệnh)! –

+0

bạn cũng có thể thử sử dụng rùa không có công cụ theo dõi các thay đổi và hiển thị biểu tượng lớp phủ.Nó không phải là rùa chính nó, nhưng các thành phần nó đi kèm với (một cũng có thể nghi ngờ các công cụ khác) – Nick

2

Tôi đang làm quen với Hg và cố gắng Tortoise-Hg ra và tôi đang chạy đến cùng một vấn đề chính xác như OP. Tôi nhân bản một kho lưu trữ từ một trong các dự án mã nguồn mở và thực hiện một số thay đổi đối với nguồn. Tuy nhiên khi tôi cố gắng để thực hiện, tôi nhận được thông báo sau từ cam kết cửa sổ hộp thoại:

hủy bỏ: Không: Hệ thống không thể tìm thấy các tập tin định

Thả xuống dòng lệnh và sử dụng hg commit -m " tin nhắn "hoạt động. Tôi là sử dụng tính năng này trong Windows 7 64 bit và đã thử hai phiên bản TortoiseHg 1.1.5 và phiên bản mới nhất 1.1.6.1 (phiên bản 64 bit) kể từ bài đăng này.

Bất kỳ ý tưởng nào về sự cố là gì? Như bạn có thể tưởng tượng, đây là một vấn đề lớn vì tôi thậm chí không thể thực hiện một trong những thao tác cơ bản nhất cho một hệ thống điều khiển phiên bản không cần phải thả xuống CLI.Điều gì là sai với điều này?

Cảm ơn

Cập nhật: tôi đã giải quyết được vấn đề này! Sau khi một số hợp tác trên danh sách gửi thư TortoiseHg, tôi đã xác định được nguyên nhân gốc rễ của lỗi này. Lỗi này đang xảy ra bởi vì bất cứ khi nào tortoisehg cố gắng cam kết nó sẽ gắn thêm một tham số 'none' bổ sung vào cuối dòng lệnh cam kết đó.

Điều này có thể xảy ra nếu bạn đã đặt cài đặt kho-> Cam kết-> Tự động Cam kết danh sách thành 'Không có'. Việc sửa chữa rất đơn giản - đảm bảo rằng Danh sách cam kết tự động và Danh sách tự động loại trừ đều được đặt thành < không xác định>. Kiểm tra cài đặt chung của bạn và đảm bảo 2 trường này được đặt theo cùng một cách.

Bên cạnh đó, để xem nếu bạn Auto Commit Danh sách và Auto Loại trừ Danh sách được thiết lập đúng cách gõ

hg showconfig --debug tortoisehg 

Nếu nó có chứa một dòng cái gì đó để hiệu ứng này:

mercurial.ini:15: tortoisehg.autoinc=None 

sau đó TortoiseHg không phải là được định cấu hình đúng cách.

Tôi hy vọng điều này giải quyết được vấn đề cho OP và những người khác đang gặp phải vấn đề này và kéo tóc ra để sửa chữa nó.

+1

Xin lỗi vì đã mất quá nhiều thời gian để trả lời (và tôi đã chuyển sang sử dụng git từ dòng lệnh) nhưng tôi đã thử cách này. (Heh, nhấn enter đệ trình, và không làm ngắt dòng.) Giải pháp này đã không làm việc cho tôi. Nhìn vào cả cài đặt chung và kho lưu trữ, tùy chọn được chỉ định được liệt kê là "không xác định" và tôi vẫn nhận được thông báo tương tự khi cam kết. Thật thú vị, nó * không * hiển thị "tortoisehg.autoinc = None" khi tôi chạy hg showconfig --debug tortoisehg. – 31eee384

+0

@ 31eee384 hmm có vẻ như cấu hình hg không đồng bộ với gui. Có lẽ bạn có thể thử gỡ bỏ thủ công từ tệp cấu hình hg. Ở bất kỳ mức nào, hãy sử dụng bất kỳ điều gì phù hợp nhất với bạn :) – greatwolf

+0

Tôi có cùng một vấn đề và không có tortoisehg.autoinc được đề cập trong bất kỳ tệp thuộc tính hg, hệ thống hoặc người dùng nào. Vì vậy, tôi sợ, bạn đã không giải quyết vấn đề như vậy. – Gangnus

Các vấn đề liên quan