Tôi muốn sửa một lỗi. Tôi bắt đầu từ đâu?


47

Mặc dù tôi không phải là một lập trình viên chuyên nghiệp, tôi đã viết một hoặc hai chương trình. Tuy nhiên, ngày nay mọi kỹ sư và nhà khoa học đều học lập trình một chút, và như vậy tôi đã quen viết chương trình bằng Python, C và MATLAB. Bây giờ tôi muốn trả lại một chút cho Ubuntu và những người tuyệt vời của nó và sửa lỗi!

Tôi đã xem danh sách các chiến dịch bitesize và phải thấy rằng hầu hết chúng không dễ sửa chữa vì tôi nghi ngờ họ cần nhiều thời gian để giải quyết vấn đề và tôi không có vấn đề đó. Tôi vẫn phát hiện ra cái này và nó có vẻ dễ quản lý và giống như một tính năng thú vị đối với tôi.

Vì tôi chưa bao giờ viết một bản vá hoặc phát hành một chương trình cho tự nhiên trước đây, tôi không biết bắt đầu từ đâu. Điều gì nên là bước đầu tiên của tôi để giải quyết vấn đề đó?

Tóm lại: Tôi bắt đầu sửa chữa anh chàng đó ở đâu và như thế nào?


1
bạn là người thế nào Bạn có quen thuộc với các hệ thống kiểm soát phiên bản? Trong thực hành đóng gói?
pygabriel

Không, chưa quen với điều đó! Có thể thay đổi ...
Ingo

Câu trả lời:


31

Trả lời câu hỏi này có thể trở nên dài và phức tạp, vì vậy tôi thay vào đó sẽ chỉ cho bạn các tài nguyên có sẵn thay vì làm lại chúng ở đây.

Tài liệu

  1. Bắt đầu thiết lập để phát triển Ubuntu
  2. Cách sửa lỗi

Hướng dẫn

Chúng tôi điều hành các sự kiện trong suốt chu kỳ để giúp mọi người giống như bạn, cụ thể là chúng tôi chạy Tuần lễ dành cho nhà phát triển Ubuntu ở IRC, đây là một hội thảo trực tuyến và câu hỏi và trả lời. Có một cái sẽ đến vào cuối tháng Hai nếu bạn muốn tham gia!

Đây là hai bản ghi từ một phiên trước để cung cấp cho bạn một ý tưởng:

Nơi tìm cơ hội

  • Harvest - công cụ này trải qua tất cả các bản vá và gói trong Launchpad (và thậm chí tìm trong các bản phát hành khác) cho các bản vá. Nhiều trong số này có thể được ghi lại, áp dụng, thử nghiệm và sau đó được sửa trong Ubuntu và sau đó được gửi ngược dòng.
  • Cleansweep - Danh sách các bản vá lỗi trong Launchpad mà ai đó đã đính kèm với báo cáo lỗi. Chúng có thể hữu ích hoặc không, mặc dù vậy chúng vẫn nên được xem xét.

Tìm sự giúp đỡ

Liên lạc với Bộ GTVT trong danh sách gửi thư hoặc IRC là một cách tốt để nhận trợ giúp cho các vấn đề riêng lẻ mà bạn gặp phải:

Phản hồi

Chúng tôi đã dành rất nhiều thời gian để làm lại tài liệu này để dễ dàng nhất có thể, nếu bạn ghi chú lại kinh nghiệm của mình và làm thế nào chúng tôi có thể cải thiện công cụ này thì sẽ rất hữu ích khi biết cách làm cho nó ít hút người hơn bạn.


19

Câu trả lời khái quát của Jorge là một giới thiệu tuyệt vời để nhảy vào phát triển Ubuntu, nhưng hãy thử xem xét kỹ hơn một chút về vấn đề cụ thể của bạn ...

Nhà phát triển ngược dòng chính của Apport và nhà bảo trì Ubuntu là một và giống nhau. Điều này đơn giản hóa mọi thứ cho bạn một chút. Thay vì phải tìm hiểu về các hệ thống đóng gói và vá lỗi, con đường dễ nhất ở đây là làm việc trực tiếp với mã ngược dòng.

Sự phát triển của Apport được lưu trữ trên Launchpad . Nó sử dụng hệ thống kiểm soát phiên bản phân tán của chợ để quản lý mã nguồn của nó. Bước đầu tiên để sửa lỗi của bạn là lấy nguồn. Nếu trước đây bạn chưa sử dụng chợ, thì chợ trong năm phút hướng dẫn là một nơi tốt để bắt đầu.

Cài đặt chợ với:

sudo apt-get install bzr

Kéo mã nguồn của apport:

bzr branch lp:apport

Bây giờ bạn có thể bắt đầu hack. Như với hầu hết các VCS, khi làm việc với chợ, một ý tưởng tốt là chỉ thực hiện một thay đổi cho mỗi cam kết. Bạn cũng nên làm cho thông điệp cam kết của bạn thông tin. Nó làm cho những thay đổi của bạn dễ dàng hơn để xem xét. Khi bạn đã sẵn sàng để thực hiện cam kết đầu tiên của mình, hãy chạy:

bzr commit -m "My commit message. Did foo to bar in order to achieve baz."

Tiếp tục thực hiện các thay đổi và cam kết cho đến khi bạn hài lòng rằng lỗi của bạn đã được sửa. Với cam kết cuối cùng của bạn, bạn cũng có thể gắn thẻ nó là sửa lỗi bằng cách thêm --fixes lp:<bug_number>vào lệnh commit. Bây giờ bạn đã sẵn sàng để gửi các thay đổi của bạn để xem xét và đưa vào.

Trước tiên, bạn cần đẩy nó lên Launchpad để làm cho nó công khai:

bzr push lp:~<launchpad_username>/apport/<branch_name>

Chi nhánh của bạn bây giờ có thể được tìm thấy tại:

https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/

Chạy bzr lp-opentrong nhánh sẽ mở vị trí đó trong trình duyệt.

Bây giờ chúng tôi muốn đề xuất một sự hợp nhất. Trên trang đó, chọn "Đề xuất hợp nhất."

đề nghị sáp nhập

Trên trang tiếp theo, chọn chi nhánh mục tiêu của bạn và cung cấp tổng quan về các thay đổi của bạn.

mô tả hợp nhất

Bây giờ bạn sẽ có một đề xuất hợp nhất hoạt động.

đánh giá tích cực

Những người bảo trì sẽ xem xét những thay đổi của bạn. Nếu chúng phù hợp, chúng sẽ được hợp nhất và có sẵn trong phiên bản tiếp theo. Ngoài ra, đề xuất có thể được đặt thành "Nhu cầu làm việc" và các nhà bảo trì sẽ thảo luận với bạn về những thay đổi cần được thực hiện trước khi hợp nhất. Nếu điều này xảy ra, xin đừng coi đó là bất kỳ loại từ chối cá nhân nào đối với công việc của bạn. Khi đóng góp cho một dự án mới lần đầu tiên, thường có những điều nhỏ như phong cách mã hóa mà bạn có thể không nhận ra.

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.