2008-09-23 13 views
5

Vì vậy, tôi gặp sự cố. Tôi đã kiểm tra đá quý và đường ray đông lạnh của tôi mặc dù bạn không phải làm điều đó. Tôi nghĩ rằng nó rất dễ dàng và sẽ không phải là lớn của một thỏa thuận nào. Vâng, sau này tôi cập nhật đường ray và làm như vậy đã xóa tất cả các tệp .svn trong thư mục vendor/rails. Tôi đã nghe nói rằng những gì tôi thực sự nên làm là chỉ cần làm một cái gì đó để làm với svn: externals vào thư mục nhà cung cấp của tôi. Chính xác thì tôi cần làm gì và capistrano vẫn sử dụng đá quý đông lạnh của tôi nếu họ không có trong repo của tôi? Nếu nó sẽ không sử dụng đá quý đông lạnh của tôi như thế nào tôi có thể tái tạo những tập tin .svn một cách chính xác, bởi vì điều này sẽ xảy ra một lần nữa.Tôi nên làm gì với thư mục nhà cung cấp liên quan đến lật đổ?

Cảm ơn!

Trả lời

3
  1. Để khôi phục các thư mục .svn đã xóa của bạn, chỉ cần chạy svn update. Họ sẽ quay lại.

  2. Tôi chỉ cần kiểm tra đá quý đã xuất.Tôi sử dụng gem unpack <gemname> trong thư mục vendor/gemssvn addcommit từ đó.

  3. Mọi thứ trong vendor/plugins hoặc vendor/rails Tôi theo dõi bằng piston. Ví dụ, đây là cách tôi nhận được đường ray trong đó:

    % piston import http://dev.rubyonrails.org/svn/rails/tags/rel_2-0-2/ vendor/rails

Để có được piston sử dụng gem install piston.

Lưu ý Tôi sẽ phải tìm một giải pháp khác nhau/tốt hơn để thay thế piston khi Rails tiếp tục sử dụng git và không thể cập nhật kho lưu trữ lật đổ.

+0

tôi có thể cài đặt piston trên cửa sổ không? subversion của tôi là trên cửa sổ. – sivabudh

4

Cá nhân, tôi là một phần để sử dụng Piston để quản lý thư mục của nhà cung cấp.

1

Tuyên bố từ chối: Tôi không biết Ruby/Rails, vì vậy tôi không biết đá quý đông lạnh là gì (mặc dù tôi cho rằng chúng được biên dịch nhị phân hoặc mã nguồn), nhưng tôi biết Subversion rất tốt.

.svn thư mục chỉ giữ Subversion "sổ sách kế toán". Không có gì trong đó là không thể phục hồi.

Xóa tệp .svn của bạn hoàn toàn không phải là vấn đề. Nếu thư mục có thư mục .svn bị thiếu ở đâu đó bên trong cây thư mục trong bản sao làm việc lật đổ của bạn (thư mục bạn đã thực hiện thanh toán), chỉ cần xóa các thư mục đó, thực hiện cập nhật svn và chúng sẽ được tạo lại.

Nếu toàn bộ cây bị thiếu tệp .svn, hãy xóa toàn bộ cây và thực hiện lại thao tác kiểm tra svn.

svn: externals giống như một "liên kết tượng trưng". Bạn có Dự án A và Dự án B, sử dụng Project A. Điều bạn làm là thêm thuộc tính svn: external vào thư mục thư viện của Project A, vì vậy bất cứ khi nào bạn kiểm tra Project B, nó sẽ tự động đặt thư mục thư viện từ Project A trong đó. Ví dụ, tôi thường có một thư mục gọi là "thirdparty" chứa các phần tử bên ngoài tới các thư viện từ các nơi khác, bao gồm evn: các tham chiếu bên ngoài tới các dự án khác trong subversion. Một mẹo để giải quyết các vấn đề phiên bản như thế này là có các thư mục phát hành riêng biệt cho các thư viện (hoặc đá quý đông lạnh) và trong các dự án cần chúng, hãy sử dụng tham chiếu svn: external tới thư mục phát hành thích hợp. Khi các phiên bản mới xuất hiện, chỉ cần thay đổi thuộc tính svn: external để trỏ vào thư mục phát hành mới và cập nhật svn.

2

tôi phải khuyên chống lại svn: externals vì hai lý do

  1. bạn có thể được triển khai vào một môi trường mà không thể đạt được những dịch vụ svn

  2. gì xảy ra khi bạn muốn triển khai và những svn bên ngoài là xuống?

Lời khuyên của tôi là sử dụng piston hoặc đá quý giải nén và quản lý phụ thuộc sản xuất trong cây của nhà cung cấp.