Có cách nào để bật svn: từ khóa theo mặc định để không cần bật thuộc tính này cho mỗi từ khóa mỗi lần thêm tệp nguồn mới không?Làm cách nào để mặc định svn: keywords được bật?
Trả lời
Như đã đề cập ở trên, bạn có thể sử dụng tính năng tự động tính để làm điều này, nhưng bạn nên tự hỏi mình một câu hỏi lớn:
- Tại sao bạn muốn sử dụng từ khoá?
Khi bạn đang phát triển, bạn có thể dễ dàng sử dụng các lệnh svn
khác nhau để cung cấp cho bạn mọi thông tin được lưu trữ trong từ khóa, vì vậy điều này thực sự không cần thiết.
Một số người cho rằng từ khóa là cần thiết khi phần mềm có trên trang web của khách hàng, nhưng có cơ chế tốt hơn để sử dụng để xác thực bản sửa đổi phần mềm bạn đang sử dụng. Ví dụ, trong quá trình biên dịch, bạn có thể tạo một tệp có ID phiên bản có ý nghĩa hơn (Có thể là số phát hành và ngày tạo) và hiển thị tệp này dưới dạng "hộp giới thiệu". ID có ý nghĩa hơn.
Tôi cũng biết rằng tôi không thể tin tưởng các từ khóa có trong các tập lệnh shell có thể nằm trong trang web của khách hàng. Kịch bản lệnh shell có thể nói số sửa đổi, nhưng kịch bản lệnh shell có thể đã được chỉnh sửa.
Nếu bạn thực sự, thực sự cần điều này và đó là thứ cần được thực thi trên trang web của bạn, bạn sẽ cần trình kích hoạt trước cam kết thất bại khi thuộc tính từ khóa không có trên tệp. Các thuộc tính tự động chỉ có thể được đặt cho một máy khách. Điều đó có nghĩa là bạn phải đảm bảo rằng mỗi nhà phát triển của bạn có tập hợp này. Mỗi khi họ nhận được một máy tính mới, bạn sẽ phải xác minh lại nó.
Ngoài ra, nó cũng đảm bảo rằng thuộc tính có trong hồ sơ. Các tệp cũ hơn trong kho lưu trữ sẽ không được thêm kỳ diệu ngay cả khi chúng được chỉnh sửa. (Thuộc tính tự động chỉ được thêm khi tệp được thêm vào kho lưu trữ). Không có gì ngăn cản nhà phát triển xóa nó. Hoặc, chỉnh sửa các thuộc tính tự động của chúng trong thiết lập của chúng.
Bạn phải sử dụng trình kích hoạt trước cam kết để đảm bảo rằng thuộc tính svn: keywords nằm trên mỗi và mọi tệp được yêu cầu và được đặt chính xác. Móc trước cam kết sẽ đơn giản từ chối thực hiện giao dịch mà thuộc tính này không được đặt. Nhà phát triển sẽ buộc phải thêm thuộc tính. Sau khi nắm bắt một số, các nhà phát triển sẽ thiết lập máy khách Subversion của họ để sử dụng các thuộc tính tự động và duy trì nó.
Tôi chỉ tình cờ có một số pre-commit trigger có thể thực thi điều này.Trình kích hoạt được viết bằng Perl, nhưng không yêu cầu gì ngoài các mô-đun chuẩn, do đó rất dễ thiết lập. Bạn có thể cấu hình nó để nói những tập tin nào yêu cầu từ khóa và những gì nó cần được thiết lập. Nếu tệp đang được cam kết và không có thuộc tính svn: keywords được đặt thành giá trị chính xác, cam kết sẽ không thành công và thông báo lỗi sẽ giải thích lý do tại sao cam kết không thành công và nhà phát triển cần làm gì.
Vâng, với những đặc tính tự động Subversion: http://www.dcepler.net/post.cfm/subversion-auto-properties
Mỗi mục của phần [auto-props]
là một glob tập tin sau đó là các thuộc tính Subversion để tự động áp dụng bất cứ khi nào một tập tin phù hợp với các glob là thêm. Ví dụ, nếu bạn muốn tất cả các file CPP để có một tập hợp một số tính theo mặc định, sau đó làm theo các hướng dẫn trên http://www.dcepler.net/post.cfm/subversion-auto-properties và sửa đổi dòng sau theo sở thích của bạn:
*.cpp = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain
Lưu ý rằng nếu bạn thêm vào file với svn add
và sau đó bật thuộc tính tự động, các thuộc tính tự động sẽ không được áp dụng cho các tệp được thêm. Thuộc tính tự động chỉ được áp dụng cho các tệp được thêm sau khi bật thuộc tính tự động.
cho mới hơn hệ điều hành windows, những tập tin cấu hình có thể là trong C: \ Users \ _user_ \ AppData \ Roaming \ Subversion – sartoris
Lưu trữ các từ khóa SVN trong các chương trình PL/SQL (và các tập lệnh SQL) đã thêm giá trị đáng kể vào các quy trình phát triển và tính toàn vẹn của hệ thống. Khi một thay đổi được gửi đến sản xuất, nó được theo dõi và quản lý bởi từ khóa sửa đổi. Trước khi thực hiện điều này, quá trình di chuyển các tập tin, và đảm bảo rằng các tập tin chính xác đã được triển khai là rất dễ bị lỗi. Ngoài ra, chúng tôi có thể thẩm vấn cơ sở dữ liệu cho dữ liệu phiên bản (xem SQL bên dưới).
--
--------- Begin Version Control Data----------------------------------------
-- $LastChangedDate: 2014-06-27 13:45:09 -0500 (Fri, 27 Jun 2014) $
-- $Revision: 1750 $
-- $LastChangedBy: kilarvk $
-- $URL: svn://jdcsubv01/SQL/JDC/Trunk/JDC_UTIL.pks $
--------- End Version Control Data -----------------------------------------
--
--select SVN Keyword Info
SELECT OWNER,
NAME,
TYPE,
SUBSTR(TEXT,INSTR(TEXT,'$')-1) AS KEYWORD
FROM ALL_SOURCE
WHERE OWNER = UPPER(NVL('&owner',OWNER))
AND NAME = UPPER(NVL('&&pgm_name',NAME))
AND (text LIKE '%$Revision%'
OR TEXT LIKE '%$URL%'
OR TEXT LIKE '%$Id%'
OR TEXT LIKE '%$LastChanged%')
Ví dụ:
JDCSCHEMA API_TESTER_AGNT PROCEDURE $LastChangedDate:
2014-04-08 15:33:38 -0500 (Tue, 08 Apr 2014) $
JDCSCHEMA API_TESTER_AGNT PROCEDURE $Revision: 1445 $
JDCSCHEMA API_TESTER_AGNT PROCEDURE $LastChangedBy: vamsisx $
JDCSCHEMA API_TESTER_AGNT PROCEDURE $URL:svn://jdcsubv01/SQL/JDC/Trunk/API_TESTER_AGNT.prc $
Đồng ý - Tôi nghĩ rằng các nhà phát triển người biên dịch các tập tin thực thi từ các cấu trúc thư mục đôi khi quên về kiểu kịch bản này, nơi có thể có các bản vá gia tăng, môi trường có thể được sao chép từ quá trình sản xuất vào các thời điểm khác nhau, và rất hữu ích để có thể nhìn thấy nhánh thực tế và thông tin sửa đổi trong nháy mắt. Có phải có một quy trình triển khai mạnh mẽ, có thể luôn mã có thể được chỉnh sửa sau khi triển khai (mặc dù bạn chắc chắn không hy vọng), nhưng không có gì giống như có thông tin được tạo tự động ngay tại nguồn. –
- 1. Làm cách nào để tắt cửa sổ bật lên mật khẩu mặc định của trình duyệt?
- 2. Làm cách nào để bật số dòng theo mặc định trong TextWrangler trên máy Mac?
- 3. Cách bật lại xử lý lỗi mặc định trong VB6
- 4. Làm cách nào để bật khóa định hướng cho UIScrollView?
- 5. Làm cách nào để thay đổi tác giả mặc định để truy cập kho lưu trữ SVN cục bộ?
- 6. Làm cách nào để bật menu SVN trong cửa sổ trình soạn thảo trong Eclipse?
- 7. Cách lấy Meta Keywords bằng Nokogiri?
- 8. C# Virtual & Override Keywords
- 9. Làm cách nào để chọn UITableViewCell theo mặc định?
- 10. Làm cách nào để biến JDK thành JRE mặc định?
- 11. Làm cách nào để đặt nút mặc định trong PyGTK?
- 12. Làm cách nào để đặt cổng mặc định cho Webrick?
- 13. Làm cách nào để không tạo tệp T4 mặc định?
- 14. Tôi làm cách nào để có bộ chia mặc định?
- 15. Java Keywords như một
- 16. Làm cho các emacs để làm nổi bật cú pháp postgresql theo mặc định
- 17. Tortoise SVN Commit bỏ chọn theo mặc định
- 18. Git có bất cứ điều gì giống như `svn propset svn: keywords` hoặc pre-/ post-cam hooks?
- 19. Thay đổi mặc định SVN diffing công cụ
- 20. svn: Làm cách nào để xác định lần cuối cùng một dòng nhất định đã được thay đổi?
- 21. Làm cách nào để ghi đè hộp thoại ngoại lệ chưa được xử lý mặc định?
- 22. Làm cách nào để thay đổi phông chữ mặc định được Silverlight sử dụng?
- 23. Làm cách nào để thay đổi phiên bản xcode mặc định được khởi chạy ...?
- 24. Làm cách nào để đặt ToString() mặc định trên PSObject được tạo cục bộ?
- 25. Làm cách nào để thay đổi gemfile mặc định được tạo bằng lệnh 'ray new'?
- 26. Làm cách nào để tạo một mục menu Django ModelForm được chọn theo mặc định?
- 27. Sử dụng Mercurial, làm cách nào để thay đổi từ mặc định thành chi nhánh được đặt tên?
- 28. Làm cách nào để bật clear_defaults_for_timestamp?
- 29. Tôi làm cách nào để xác định biểu định kiểu mặc định cho trình duyệt?
- 30. Làm cách nào để bật gzip?
1 điểm Rất tốt –