2011-09-28 15 views
5

Giúp tôi làm một số thiệt hại! Tôi mệt mỏi với chỉ một nửa tá số truy cập của Google cho tôi biết không bao giờ làm điều này. Hãy lừa những thứ thật sự tốt! Tôi khá chắc chắn rằng tôi có thể nhận được ahold của các tập tin thực tế trong db/giao dịch, vì vậy làm thế nào tôi có thể vít lên trong những cách thú vị? Tôi đã nhìn vào SVN :: Delta, nhưng tôi thậm chí không thể tìm ra những gì nó được cho là đang làm (cho phép một người nào đó làm cho đồ thị đẹp của những thay đổi cho một kho lưu trữ? Gửi tin nhắn mã hóa cho CIA?).Định dạng của các vùng đồng bằng trong một kho lưu trữ lật đổ là gì và làm thế nào tôi có thể thổi nó lên một cách nghiêm trọng nếu tôi thay đổi chúng trong một móc trước khi cam kết?

Tôi thực sự không quan tâm để nghe thêm lý do tại sao không làm điều này. Tôi làm việc trong một môi trường với 40 hoặc 50 người khác sử dụng subversion. Và trong khi chúng tôi đang mã hóa, chúng tôi cần một số mật khẩu trong các tệp web.config, trong các tệp DataSource.groovy, bạn đặt tên cho nó. Và chỉ từ chối cam kết vì chúng tôi để chúng ở như là khó chịu như địa ngục. Chúng ta phải lưu các tập tin với mật khẩu bằng tay xóa (và chúng ta phải mở các tập tin đó, nó không giống như chúng nhất thiết phải mở), sau đó khi chúng ta thực hiện cam kết, chúng ta phải đưa chúng trở lại để tiếp tục hoạt động? Đây là một ý tưởng tốt Tôi cho rằng nếu bạn chỉ muốn bitchslap mọi người mỗi khi họ cam kết cho đến khi họ phát triển một phản xạ Pavlovian để không bao giờ cam kết bất cứ điều gì. Và tại sao? Bởi vì máy tính không được phép tự động hóa tác vụ? Bởi vì phần mềm client sẽ không biết rằng hook trước-commit không thực sự lưu phiên bản trên máy của nhà phát triển?

Tôi khá bất khả tri về ngôn ngữ ở đây. Cho tôi xem một ví dụ về cách làm những gì bạn không bao giờ phải làm ... Tôi có thể chỉnh sửa tập tin nào từ tiền cam kết? Làm cách nào để diễn giải gobbledygook sau dòng DELTA # # #? Có thư viện nào hỗ trợ điều đó không? Hãy vui vẻ nhé!

PS Nghiêm túc, không ai tạo thẻ "ý tưởng tồi"? WTF.

+2

+1 cho sự nghịch ngợm thú vị – daxim

Trả lời

4

Đó là quá trình xây dựng của bạn không đúng, không phải là Subversion. Nếu bạn không được cam kết mật khẩu, hãy làm như sau:

1 - Web.config không nên cam kết. Thay vào đó, hãy cam kết các tệp như Web.config.dev hoặc Web.config.qa.
2 - Yêu cầu tập lệnh xây dựng của bạn đổi tên tệp .config thích hợp thành Web.config và sau đó thực hiện thay thế mã thông báo để chèn mật khẩu thích hợp. Thông tin này có thể đến từ một tệp khác cũng không được cam kết cho biết bạn đang ở trong môi trường nào (vì vậy nó biết tệp .config nào sẽ sử dụng) và mật khẩu là gì.

+0

Thật sự rất hay ... nói với tôi rằng chúng tôi không nên thực hiện kiểm soát phiên bản trên các tệp. Tôi đoán nếu một trong những bị mất hoặc bị hỏng trong sản xuất (xảy ra chỉ một tháng trước), sau đó chúng tôi có thể yêu cầu họ để kéo băng sao lưu và làm cho nó hoạt động trở lại trong một vài ngày. Phía máy khách nghe rất hay, chỉ có vài chục nhà phát triển ... và khi các máy tính mới được tung ra trong một vài tháng, chúng tôi có thể cài đặt nó trên vài chục hệ thống một lần nữa chỉ để cho vui! –

+2

@ John Tôi không nghĩ rằng bạn đang theo dõi tôi. Các tệp bạn không cam kết được tạo tự động bởi tập lệnh xây dựng của bạn. Tệp duy nhất không được tạo bằng cách kiểm tra hoặc hoặc xây dựng tập lệnh là tệp mật khẩu, mà rõ ràng không được cam kết như một yêu cầu từ bạn. Tương tự như vậy, kịch bản triển khai của bạn tạo web.config cho bạn. – RedFilter

+2

@JohnO: Không, anh ấy nói cho bạn biết phiên bản kiểm soát các tệp, ngoại trừ không có mật khẩu được chèn vào, và sau đó có quy trình tự động chèn mật khẩu. Sắp xếp giống như cách phiên bản của bạn kiểm soát tệp '.c' chứ không phải tệp' .o' được tạo. – derobert