2009-02-12 33 views
8

Ở đây chúng tôi đi xuống con hẻm chủ quan ..Một wiki được tích hợp vào DVCS?

Gần đây, tôi đã thêm một tệp có tên 'whiteboard.txt' vào một số kho của tôi. Tôi sử dụng Mercurial, nhưng điều này áp dụng cho bất kỳ DVCS nào.

Mục đích của tệp văn bản là băm định dạng, lưu lượng, ý tưởng, v.v. Do hầu hết các hệ thống kiểm soát phiên bản phân tán đều có giao diện web, tại sao không biểu thị một thư mục dưới dạng 'wiki' và cho phép được xem và sử dụng như vậy bằng cách sử dụng một cái gì đó như đánh dấu Wiki Creole?

Rõ ràng, chỉ những người có quyền truy cập cam kết mới có thể thực hiện thay đổi.

Quan điểm của tôi là khi mã đã sẵn sàng phát hành, wiki thiết kế và khá nhiều tài liệu sẽ được thực hiện. Tại sao không tích hợp hai công cụ cộng tác quan trọng nhất vào một công cụ?

Ví dụ, nếu tôi có thể:

hg --wiki và tìm ra lý do đằng sau một nhóm 30 bản vá lỗi cũng như hướng dự định của họ ngoài bình luận rút gọn trong phạm log .. wow :) Bất kỳ cam kết có thể tham khảo một mục wiki, hơn nữa các cuộc thảo luận trở thành một phần của kho lưu trữ và không phải là một trang phụ.

Nếu bạn thích sử dụng DVCS vì bạn có thể làm việc ngoài đường dây, tại sao điều này không có ý nghĩa?

EDIT:

Toàn bộ các điểm này sẽ là, nếu 'joe' cam kết một tập tin, anh sẽ có thể thiết lập một thuộc tính 'nag' mà nhắc nhở bất cứ ai khác thay đổi các tập tin để cập nhật một trang wiki nhất định , tất cả được thực hiện khi không kết hợp với các lần hợp nhất trong tương lai được giải quyết sau hậu trường. Sau khi tất cả, nó là văn bản, không phải mã và có thể được coi là một FIFO.

Nếu bạn có thể cam kết tắt, bạn cũng có thể cập nhật một wiki off line và đẩy các thay đổi của bạn sau này, ngay cả ở định dạng vá.

Ý tưởng rất đơn giản.

+0

+1. Chúng tôi đã mong muốn một trong các yêu cầu này cho các yêu cầu loại miền doanh nghiệp. Tôi nghĩ ý tưởng lưu trữ nó ở cùng một nơi cho phép các changesets có cả hai: thay đổi tài liệu và mã thực hiện nó. – Daniel

Trả lời

5

lẽ http://ikiwiki.info/

Một trình biên dịch wiki. Bạn có thể hướng dẫn nó lưu trữ các nguồn wiki (các tệp văn bản đánh dấu) trong một kho lưu trữ (ví dụ: git, mercurial, subversion). Chỉnh sửa có thể được thực hiện thông qua web hoặc bản sao làm việc.

0

Ý tưởng hay, nhưng tôi sẽ giữ wiki trong một kho lưu trữ riêng biệt.

Hơi giống như Bitbucket.org làm (khi bạn đăng ký chi nhánh, bạn nhận được hai kho lưu trữ hg, một cho nguồn và một cho wiki).

+0

Tại sao phải tách riêng hai? Nếu bạn có thể sử dụng một số chuyển đổi nói rằng 'thêm cam kết để foo.c nên được nagged cũng chỉnh sửa wiki' .. wow :) –

0

tôi có một vài gợi ý:

  • GitHub có một wiki tích hợp (e.g.). Vì vậy, làm nhiều giải pháp lưu trữ VCS khác, chẳng hạn như Google Code.
  • Trac là một wiki có gắn kết VCS rất chặt chẽ và tập trung vào định hướng phát triển.
+0

Cảm ơn :) Tuy nhiên, toàn bộ điểm là tôi có thể cam kết mà không được cắm trong khi chỉnh sửa wiki để phản ánh những thay đổi của tôi –

6

Có một dự án được gọi là Fossil thực hiện chính xác việc này. Tôi đã không sử dụng nó cá nhân, nhưng nó được thực hiện bởi cùng một người đã viết SQLite, vì vậy tôi đoán nó là nhỏ và nhanh chóng.Trong thực tế, theo trang web, mọi thứ được lưu trữ bên trong một cơ sở dữ liệu SQLite nhỏ, vì vậy nó phải dễ dàng lưu trữ và vận chuyển.

+0

Tôi thích những gì tôi thấy cho đến nay về Fossil. đồ ngọt. –

2

Xem thêm Hatta. Tôi đã cố gắng không thành công để có được nó để làm việc, nhưng đó chỉ là nguyên nhân tôi là lousy với việc thiết lập Python.

+0

Chắc chắn nó đi đúng hướng liên quan đến câu hỏi này :) THANKS! –

0

Để chú thích các cam kết của bạn với thông tin về những gì đã được thực hiện và lý do một phần lý do tại sao tôi sử dụng hệ thống theo dõi vấn đề chẳng hạn như Trac. Một trang web Trac (hoặc môi trường như họ gọi nó) có thể được gắn với một điều khiển phiên bản. Bạn có thể tham khảo các bản sửa đổi trong điều khiển phiên bản bằng 'r', với vé có ký hiệu '#' và thậm chí cả các trang wiki trong Trac.

Bây giờ nếu bạn đã kết hợp mã nguồn và theo dõi vấn đề với nhau, như Mylyn nếu bạn là nhà phát triển Eclipse, vào IDE của bạn thì "magic" bắt đầu xảy ra. Tôi đã nhìn thấy cách làm việc của Visual Studio Team System với việc theo dõi vấn đề và kiểm soát phiên bản, nhưng tôi phải nói rằng tôi ấn tượng hơn với cách Mylyn xử lý điều này (vì nó cũng có thể làm việc với các vấn đề ngoại tuyến).

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