Làm thế nào để bạn bao gồm một mô-đun Dev trong một tập tin thực hiện?


6

Tôi đang sử dụng Drush tạo các tệp để tự động hóa phát triển trang web của mình.

Tôi đã làm theo hướng dẫn này để tạo Make File qua Drush.

Mọi thứ đều hoạt động tốt, ngoại trừ khi tôi chạy tệp tạo, Drush nói rằng nó không thể tìm thấy các phiên bản Phát triển của các mô-đun (đối với các mô-đun nơi tôi đã sử dụng phiên bản Dev).

Theo hướng dẫn này , điều này là do bạn phải chỉ định Địa chỉ Git và ID sửa đổi của mô-đun. Làm thế nào để bạn làm điều đó?

Các bước tôi đã thực hiện

Ví dụ: giả sử tôi muốn bao gồm bản phát hành 7.x-1.x-dev của mô-đun Fences . Mô-đun dev này được phát hành vào 2013-Sep-30.

Trên trang dự án, có một tùy chọn gọi là Xem tất cả các Bản phát hành . Tuy nhiên, trên trang này, không có bản phát hành nào có niên đại 2013-Sep-30. Trang dự án cũng có các liên kết đến trang Git cho dự án. Tuy nhiên, điều này dường như không được cập nhật trong một thời gian vì bản cập nhật mới nhất là 15 tháng trước.

Làm cách nào để tìm địa chỉ Git cho mô-đun Dev này hoặc có cách nào khác để đưa nó vào tệp tạo của tôi không?

Câu trả lời:


17

Bạn sắp hoàn thành - những gì bạn cần thêm vào tệp tạo của mình trông như thế này và bạn phải chỉ định url git và mã định danh cam kết.

projects[path_breadcrumbs][version] = "3.x-dev"
projects[path_breadcrumbs][download][type] = "git"
projects[path_breadcrumbs][download][url] = "http://git.drupal.org/project/path_breadcrumbs.git"
projects[path_breadcrumbs][download][revision] = "c9c570b0b4bde1df0e5a322ab90197d7fc1cf9c6"

Để tìm thấy điều này, hãy truy cập trang dự án trên drupal.org và chọn 'xem cam kết', ví dụ nhập mô tả hình ảnh ở đây

Trên trang tiếp theo, chọn cái bạn quan tâm phản ánh trạng thái của mô-đun bạn muốn thêm vào tệp tạo của bạn. Trong ví dụ này, tôi sẽ lấy cam kết cuối cùng:

nhập mô tả hình ảnh ở đây

và tôi đang nhấp vào liên kết 'commit bdcf88a' đưa tôi đến:

http://drupalcode.org/project/path_breadcrumbs.git/commit/bdccf8a

Bây giờ tôi biết rằng [tải xuống] [url] là:

http://drupalcode.org/project/path_breadcrumbs.git

và hàm băm đầy đủ cho cam kết mà tôi đang tìm kiếm là:

bdccf8a901b6d2359b6da195d23cadf7dd90c4ec

-

Cập nhật thêm theo yêu cầu - nếu bạn đang tìm kiếm một nhánh nhà phát triển cụ thể, bạn có thể muốn chuyển sang dòng lệnh để thực hiện một bản sao - đáng chú ý để đảm bảo rằng bạn nhận được tất cả các nhánh. Sau câu hỏi này:

Làm thế nào để tôi git kéo một nhánh dev?

Tôi sẽ thực hiện một lần đệ quy của nhánh git 7.x-1.x

git clone --recursive --branch 7.x-1.x http://git.drupal.org/project/fences.git

Bây giờ tôi có thể thấy những chi nhánh có sẵn:

git branch -r
  origin/1343724-region
  origin/7.x-1.x
  origin/HEAD -> origin/master
  origin/master

Bây giờ tôi có thể kiểm tra chi nhánh này cho 7.x-1.x và kiểm tra nhật ký, điều này sẽ cho tôi cam kết cuối cùng và cam kết được sử dụng để tạo ảnh chụp nhanh phát triển.

git checkout 7.x-1.x
git log

  commit 67206b5220cbebf52e8e6a290ccb977b2420b2ad
  Author: JohnAlbin <virtually.johnalbin@gmail.com>
  Date:   Tue Sep 4 13:44:40 2012 +0800

      Fix code comments on figcaption.

Ngày khác với những gì bạn có thể thấy trên trang chủ của dự án chỉ vì đây là ảnh chụp nhanh phát triển tự động được tạo bởi các bot git Drupal.org nhưng ảnh chụp nhanh phát triển luôn được tạo từ chi nhánh có cùng số phiên bản và '-dev 'phần không bao giờ được sử dụng trong tên chi nhánh.


Cảm ơn rất nhiều, nhưng điều này áp dụng cho tất cả các mô-đun. Ví dụ: trên Fences, phiên bản dev mới nhất là 2013-Sep-30 nhưng khi tôi nhấp vào View Commits, phiên bản mới nhất là ngày 4 tháng 9 năm 2012, tức là sớm hơn 1 năm. Tôi có thể làm gì trong những tình huống như thế này? Cảm ơn vì những giúp đỡ của bạn.
big_smile

1
Nếu bạn không chỉ định cam kết / sửa đổi, bạn sẽ luôn nhận được phiên bản dev mới nhất.
benjy

@ben, Làm thế nào bạn sẽ khai báo nó trong tập tin make. Khi tôi sử dụng lệnh Drush make và sau đó chạy nó, nó nói rằng nó không thể tìm thấy nó, vì vậy tôi đoán nó phải được khai báo theo cách đặc biệt trong tệp tạo? Cảm ơn vì bất kì sự giúp đỡ!
big_smile

@schnippy Cảm ơn bạn đã đăng hướng dẫn tuyệt vời này. Tôi đã theo dõi nó rất cẩn thận, nhưng không thể làm cho nó hoạt động được. Đây là những gì tôi đã đưa vào tập tin tạo của mình: projects[fences][version] = "1.0+6-dev" projects[fences][download][type] = "git" projects[fences][download][url] = "http://drupalcode.org/project/fences.git" projects[fences][download][revision] = "67206b5220cbebf52e8e6a290ccb977b2420b2ad" Có vẻ đúng, nhưng tôi không thể làm cho nó hoạt động? Cảm ơn vì những giúp đỡ của bạn.
big_smile

1
@big_smile đây là một ví dụ. gist.github.com/benjy14/7941404
benjy

2

Phiên bản hiện tại của Drush chỉ yêu cầu tên chi nhánh và hàm băm cam kết của phiên bản mô-đun, vì Drush Make hiện sử dụng git theo mặc định và có thể tìm đường dẫn đến repo git.

projects[myproject][download][branch] = 7.x-1.x
projects[myproject][download][revision] = abcd123

1

câu trả lời của schnippy là chính xác, và nên được chấp nhận. Các hướng dẫn ở trên áp dụng cho tất cả các mô-đun. Sự nhầm lẫn duy nhất còn lại là ngày 2013-ngày 30 tháng 9, mà tôi tin là một sự giả tạo của việc nâng cấp Drupal.org lên Drupal 7. Trong mọi trường hợp, tất cả ngày đó đều nói với bạn rằng drupal.org đã đóng gói một bản phát hành vào ngày đó . Cam kết mới nhất (2012-Sep-30) đại diện cho mã mới nhất có sẵn cho mô-đun đó. Thậm chí nếu một số phiên bản được đóng gói và dán nhãn với một ngày sau đó, nó sẽ không có bất kỳ mã mới hơn trong nó - đó mã không mới hơn cam kết cuối cùng.


0

IMHO tải xuống bản phát hành DO tốt hơn nhiều thay vì các chi nhánh GIT.

Nếu bạn đã khai báo phiên bản lõi (thông thường nhất), dòng này buộc tải xuống nhánh 2.x dev của mô-đun fboauth:

projects[fboauth][version] = 2.x-dev

Vấn đề với cách tiếp cận này là nó không đưa bạn đến một phiên bản dev cụ thể. Vì vậy, nếu các nhà bảo trì thực hiện một loạt các cam kết cho chi nhánh đó, lần sau khi bạn chạy drush, nó sẽ tải xuống các thay đổi mới, có thể phá vỡ trang web của bạn.
Brian

Có thể, nhưng bạn nên chỉ định phiên bản chính để API không thay đổi.
Alvaro J Hurtado Villegas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.