2012-11-28 31 views
22

Tôi đang cập nhật phần mở rộng của symfony thông qua nhà soạn nhạc. Tôi luôn luôn làm điều đó bằng:Cách tránh thông báo thay đổi nội dung soạn nhạc, soạn

php composer.phar update 

Nhưng phiên bản mới của nhà soạn nhạc, trước khi cập nhật từng gói hiển thị một thông báo như sau:

- Updating doctrine/data-fixtures dev-master (a95d783 => a28b6bd) 
The package has modified files: 
M .gitignore 
M .gitmodules 
M LICENSE 
M README.md 
M UPGRADE 
M composer.json 
M lib/Doctrine/Common/DataFixtures/AbstractFixture.php 
M lib/Doctrine/Common/DataFixtures/DependentFixtureInterface.php 
M lib/Doctrine/Common/DataFixtures/Event/Listener/MongoDBReferenceListener.php 
M lib/Doctrine/Common/DataFixtures/Event/Listener/ORMReferenceListener.php 

-10 nhiều file sửa đổi, chọn "v" để xem đầy đủ danh sách Hủy thay đổi [y, n, v, s ,?]?

Làm cách nào để tránh điều này?

Trả lời

0

Làm thế nào để không sửa đổi tệp nhà cung cấp? Nếu họ được sửa đổi nhiều khả năng đó là vì một số cài đặt git sai lầm cho các kết thúc dòng. Xem https://help.github.com/articles/dealing-with-line-endings

+0

vẫn xảy ra đôi khi. Tôi đã nhìn thấy những người có máy chủ mà chmod trên crontab rằng mess với perms của tất cả các nhà cung cấp. hoặc khi gỡ lỗi một nhà cung cấp lib, nó có thể xảy ra quá – Ascherer

+2

Điều này cũng có thể xảy ra do git filemode, đặc biệt là khi các tập tin nhà cung cấp là một cái gì đó bạn có symlinked trong bin. – gidmanma

+1

Và thử nghiệm lỗi, đôi khi bạn cần phải đổ var trong các tập tin nhà cung cấp để xem những gì trên trái đất đang xảy ra ... và bạn có thể không luôn luôn đặt những thay đổi trở lại 'chính xác' như họ ... có thể một không gian được thêm vào vv – HappyCoder

16

Thay thế cho giải pháp @lemats bạn có thể sửa đổi các tập tin composer.json với:

"config": { 
     "discard-changes": true 
    }, 

Nó có giá trị không có tùy chọn nào để đá vào bạn phải chạy ở chế độ --no-interaction

php composer.json install --no-interaction

Mặc dù tôi đồng ý với @Seldaek trên bạn không nên sửa đổi những tập tin nhà cung cấp, nhưng đôi khi bạn buộc phải khỉ vá nó :(

+3

Bạn luôn có thể thực hiện yêu cầu kéo đến repo của nhà cung cấp nếu nó là một bản sửa lỗi quan trọng –

26

cả @lemats và câu trả lời @ Reza-sanaie của không đầy đủ theo - tùy chọn không tương tác (-n) của nhà soạn nhạc được yêu cầu để có bản cập nhật thực sự mà không có bất kỳ câu hỏi nào (xem https://github.com/composer/composer/pull/1188#issuecomment-16011533).

Vì vậy, sau

php composer.phar config --global discard-changes true 

hoặc sau khi sửa đổi composer.json

"config": { 
    "discard-changes": true 
}, 

sử dụng

php composer.phar update -n 
Các vấn đề liên quan