2010-10-11 22 views
18

Tôi đang cố gắng để thực hiện một phiên bản mới để kho SVN của tôi, nhưng đang gặp lỗi này:cam kết không báo lỗi khi có hành phiên bản mới để kho svn

svn: Commit failed (details follow):
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found new-computers-computer:trunk newcomputer$

Có chuyện gì vậy?

+0

@Ether, thông báo lỗi đó có nghĩa là không có gì nếu bạn mới dùng SVN hoặc dòng lệnh. Kiểm tra câu trả lời được chấp nhận bởi Blackcoat để xem câu trả lời hữu ích. – Sandy

Trả lời

26

Justin,

Mỗi lần bạn cam kết với Subversion, bạn cần phải viết một bản tóm tắt về những gì đang được cam kết (ví dụ: thông điệp cam kết). Lỗi này là do Subversion đang cố gắng khởi chạy trình soạn thảo văn bản để bạn có thể viết một thông điệp cam kết, nhưng trình soạn thảo không bao giờ được khởi chạy. Đặt số SVN_EDITOR trong .bash_profile của bạn sẽ thực hiện thủ thuật. Dưới đây là một số bước-by-step hướng dẫn chi tiết về cách thiết vim là trình soạn thảo mặc định được sử dụng bởi svn: Original link dead, replaced with archive.is mirror

Ngoài ra, theo đề nghị trong thông báo lỗi, bạn có thể tải một cam kết thông báo từ một file đang tồn tại với -f, hoặc chuyển qua tin nhắn với -m.

Ví dụ:

svn commit -m "Fixed a regression that prevented pigs from flying (resolves issue #123, but causes strange behavior elsewhere)" 
svn commit -f /path/to/a/file/with/a/long/commit/message.txt 
+0

Điều gì xảy ra nếu tôi muốn đặt TextMate làm trình soạn thảo văn bản mặc định? –

+1

Trong .bash_profile của bạn, hãy thêm: xuất EDITOR = "$ HOME/bin/mate -w" – Blackcoat

+0

Tương tự, bạn có thể đặt Sublime làm mặc định bằng cách thực hiện 'export EDITOR = 'subl -w''. Để biết chi tiết đầy đủ về thiết lập dòng lệnh cho Sublime, hãy xem http://www.sublimetext.com/docs/2/osx_command_line.html – Blackcoat

16

Nếu bạn muốn thiết lập soạn thảo mặc định sẽ được sử dụng mỗi khi bạn chạy

svn commit 

Hãy thử lệnh sau trong vỏ:

export SVN_EDITOR=nano 

Điều này sẽ thiết lập nano làm trình soạn thảo văn bản cho các thông điệp cam kết. Từ bây giờ, khi bạn gọi svn commit mà không có cờ -m, nano sẽ mở. Khi đóng nano, SVN sẽ tiếp tục cam kết.

+0

Và điều gì sẽ xảy ra? Vui lòng xem xét thêm mô tả cho câu trả lời của bạn. – bahrep

+0

về cơ bản khi bạn cần đặt trình chỉnh sửa mặc định, bạn nên sử dụng lệnh từ phía trên. – Kersh

0

Tôi gặp sự cố tương tự khi cố gắng nhập mã không được phiên bản vào kho lưu trữ mới, dựa trên câu trả lời được đăng trên câu hỏi này tôi có thể giải quyết được vấn đề của tôi (cảm ơn các bạn).

Tôi chia sẻ lệnh tôi được sử dụng để nhập khẩu một dự án địa phương để SVN về việc sử dụng apache/http:

đâu TestCodeDir là dự án và chưa được phiên bản được nêu ra.

svn import /var/svn/TestCodeDir http://localhost/svn/TestCodeDir -m "Initial Commit" 

Lưu ý: Bạn phải có máy chủ apache được định cấu hình tốt và phải chạy.

Tôi hy vọng điều này có thể giúp ai đó.

2

Tôi cũng có cùng một sự cố, tuy nhiên nó đã có trên Windows. Tôi đã có thể giải quyết vấn đề bằng cách sử dụng -m (--message) và cung cấp thông báo cam kết.

Tôi cũng đã thử sử dụng Cygwin với thông báo cam kết và hoạt động đó.

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