rustc-dev-guide
rustc-dev-guide 팀은 컴파일러 팀의 하위 팀으로서, rustc-dev-guide(rust-lang/rustc-dev-guide에 위치)를 유지 관리하는 역할을 담당합니다.
팀 책임
- 오래되거나 누락된 정보를 찾기 위해 가이드의 상태를 트리아지합니다.
- 가이드 페이지에 대한 기타 편집 작업이나 손상된 링크를 수정하는 작업을 수행합니다.
- 도메인별 전문 지식이 필요하지 않은 가이드에 대한 간단한 PR을 검토합니다.
- 도메인별 문서 변경 사항을 도메인 전문가 검토자와 연결합니다.
- 메인 rust 저장소와 rustc-dev-guide 저장소 간의 서브트리 동기화 수행
팀 구성원
-
지속적인 기여 후, 팀 리드가 해당 인원을 팀에 초대할 수 있습니다.
이미 컴파일러 팀의 구성원인 사람에게는 이 요건이 적용되지 않는다는 점에 유의하십시오. 이는 그들이 자신의 변경 사항을 직접 병합할 수 있으므로 가이드의 내용을 암묵적으로 소유하고 있기 때문입니다. 그들에게 있어 구성원 자격은 가이드에 대해 조금 더 애정을 쏟겠다는 의도의 신호에 가깝습니다. 또한 컴파일러 팀 구성원인 경우 이 요구 사항이 이미 충족된 것으로 간주되며, 이는 컴파일러 팀 구성원에 나타나 있습니다.
-
6개월 동안 활동이 없을 경우 해당 구성원은 전임 구성원으로 분류됩니다.
- 그렇게 하기 전에 먼저 이를 정중하게 알리는 것이 예의입니다.
팀 리더십
- 리드가 새 구성원을 승인합니다.
- 어떤 구성원으로부터도 이의가 없어야 합니다.
- 리드는 메인 rust 저장소에 대한 서브트리 동기화를 승인할 수 있습니다.
- 팀 리드가 되는 것은 임의적이며 초대를 통해 이루어집니다.
검토 정책
개발 가이드는 컴파일러 자체에 비해 변경 사항 병합 기준이 훨씬 낮습니다. 문서가 없는 것보다는 불완전하거나 작업 중인(WIP) 문서가 더 낫습니다. 문서가 없는 것보다는 불완전하거나 작업 중인(WIP) 문서가 더 낫습니다. 장의 하위 부분에서 누락된 부분을 추적하는 이슈가 포함된 스텁 형태의 TODO는, 그렇지 않으면 독자를 혼란스럽게 만들 수 있는 문서상의 알려진 공백을 나타내는 데 유용합니다.
문서화 대상 영역에 자신 있는 기여자는 검토 없이 자신의 문서를 직접 병합해도 무방합니다. 이러한 이유로 dev guide는 각 PR에 리뷰어가 자동으로 배정되지 않으며, 대신 PR 작성자가 필요하다고 판단할 경우 직접 PR 리뷰어를 요청할 수 있습니다.
리뷰어는 다음을 포함하는 댓글을 작성하여 배정할 수 있습니다: r? rustc-dev-guide 또는 r? @username.
자신의 rustc-dev-guide PR을 직접 머지해도 괜찮은지 판단하는 좋은 기준은, 컴파일러의 관련 영역을 다루는 관여된 PR을 승인해도 괜찮다고 느끼는지 여부입니다. 컴파일러 검토 정책을 참고하십시오.
rustc-dev-guide 변경 사항을 기여할 위치
변경 사항이 rustc-dev-guide의 문서 내용에만 관련되어 있고 rust-lang/rust 코드 변경을 동반하지 않는 경우, 변경 사항과 PR을 rust-lang/rustc-dev-guide 저장소에 직접 제출하십시오.
이 규칙을 따르면 다음과 같은 몇 가지 이점이 있습니다.
rustc-dev-guide저장소에 대한 변경 사항은 실제 운영 중인 rustc-dev-guide에 즉시 반영될 수 있습니다.rustc-dev-guide저장소에 대한 변경 사항은rust-lang/rust의 bors CI를 거칠 필요가 없습니다.rust-lang/rust의 bors 큐에 대한 부담이 줄어듭니다.
서브트리 동기화
dev guide는 메인 rust-lang/rust 저장소의 josh 서브트리입니다. 이로써 컴파일러 기여자가 컴파일러 자체의 변경과 함께 개발 가이드의 문서를 갱신하기가 더 쉬워집니다.
이로 인해 dev guide에 이루어진 변경 사항을 dev guide 자체 저장소와 rust-lang/rust 저장소에 유지되는 사본 간에 수동으로 동기화하는 과정이 필요합니다.
- 마지막 서브트리 동기화 이후 최소 1주일을 기다리십시오.
- 자동으로 열리는 rustc-pull PR이 있거나, 머지 충돌이 있는 경우 수동 rustc-pull이 필요할 수 있습니다. rustc-pull PR이 열려 있다면 이를 머지하고1, 그렇지 않다면 수동 rustc-pull을 수행해야 합니다. rustc-pull 예시는 rustc-dev-guide#2451을 참조하십시오.
- 동기화를 진행하고 있다는 사실을 서브트리 동기화 조율을 위한 zulip 채널에 게시하십시오.
- 수동으로 rustc-push를 수행하고 PR을 여십시오. 해당 PR은 rustc-dev-guide 리드(현재 @BoxyUwU 또는 @jieyouxu)에게 배정되어야 합니다. 다른 팀 일부에서처럼 자체 승인하는 대신, 저희는 rustc-push PR을 다른 사람에게 배정하는 경향이 있습니다. 이는 서브트리가 처음 설정되었을 때 몇 가지 사고가 있었기 때문에, 누군가가 확인해 주지 않으면 불안하게 느껴졌기 때문입니다.
- 서브트리 동기화가 수행되었음을 모두가 인지할 수 있도록 rustc-push PR을 서브트리 동기화 조율을 위한 zulip 채널에 게시하십시오. rustc-push 예시는 rust-lang/rust#141962를 참조하십시오.
rustc-pull 또는 rustc-push를 수행하는 방법에 대한 문서는 dev guide의 README에서 확인할 수 있습니다.
-
자동으로 열린 rustc-pull에 dev guide에 대한 실제 변경 사항이 포함되어 있지 않다면, 서브트리 동기화는 실제 동기화할 변경 사항이 생길 때까지 지연될 수 있습니다. ↩