개요
Git Source Editor(ci.android.com/edit)는 Android 오픈소스 프로젝트(AOSP)의 파일을 수정하고 변경사항을 Gerrit에 업로드하는 브라우저 기반 도구입니다. 이 편집기는 소수의 파일에 소규모 변경사항을 반영하기 위한 도구로, Android 소스 트리를 다운로드하는 것보다 더 빠른 워크플로를 제공합니다. Git Source Editor를 사용하기 전에 Git, Repo 및 Gerrit을 사용하여 AOSP에 변경사항을 제출하는 전체 과정을 숙지해야 합니다.
Git Source Editor를 사용하여 파일을 수정하면 변경사항을 업로드하여 Gerrit 변경 목록을 만들 때까지 모든 작업이 로컬 컴퓨터에서 수행됩니다.
로그인
- 브라우저에 Git Source Editor를 로드합니다.
Log in을 클릭하여 계정에 로그인합니다.
그림 1. 로그인 버튼
파일 및 변경사항 수정
Git Source Editor에는 다음과 같은 주요 워크플로가 있습니다.
- 선택한 브랜치에서 하나 이상의 원하는 파일을 수정합니다.
- 변경사항을 수정합니다. 변경사항을 수정하면 변경사항을 만든 사용자에 따라 다음과 같이 결과가 달라집니다.
- 내가 만든 변경사항인 경우 Git Source Editor에서 수정한 내용이 변경사항에 새 패치 세트로 패치됩니다.
- 다른 사람이 만든 변경사항인 경우 Git Source Editor에서 수정한 내용은 로드한 변경사항을 바탕으로 내 소유의 새 변경사항을 생성합니다.
수정할 항목 로드
파일 또는 변경사항을 로드하여 수정 세션을 시작합니다.
파일 로드
페이지 상단의 file/change path 입력란에 수정할 파일의 URL을 입력합니다.
샘플 파일 경로: https://android.googlesource.com/platform/build/+show/refs/heads/main/Changes.md
Load file or change를 클릭합니다.
그림 2. 파일 또는 변경사항 로드하기
편집기 창에 파일이 로드됩니다. 편집기 창 왼쪽에 있는 탐색창은 파일 브라우저인데, 파일이 미리 로드된 상태로 저장소를 엽니다.
그림 3. 편집창에 로드된 파일
탐색창을 사용하여 동일한 저장소 내의 더 많은 파일을 열 수 있습니다. 여러 파일을 열면 각 파일이 편집창 위쪽 행에 탭으로 표시됩니다. 탭을 클릭하여 편집창에서 파일을 엽니다.
그림 4. 로드된 파일의 탭
변경사항 로드
페이지 상단의 file/change path 입력란에 Gerrit 변경 목록의 URL을 입력하여 수정하려는 변경사항으로 이동합니다(그림 2 참고).
샘플 변경사항 링크: https://android-review.googlesource.com/c/platform/build/soong/+/1284176
편집창에 변경사항의 파일이 열립니다(그림 3 참고).
변경사항에 여러 파일이 포함된 경우 각 파일은 편집창 위쪽 행에 탭으로 표시됩니다(그림 4 참고). 탭을 클릭하여 편집창에서 파일을 엽니다.
수정
텍스트 편집창을 사용하여 파일을 수정합니다. 수정한 파일은 편집창 아래 Pending changes 목록에 표시됩니다. 수정사항이 있는 파일의 탭을 실수로 닫은 경우 Pending changes 목록에서 파일 이름을 클릭하여 수정사항이 적용된 파일을 다시 열 수 있습니다.
변경사항 제출
Git Source Editor에서 변경사항을 생성하고 Gerrit에 게시합니다. 그런 다음 Gerrit의 변경사항 승인 상태를 추적합니다.
변경사항으로 생성하여 게시
다음 절차를 따라 수정 내용을 변경사항으로 생성하여 게시합니다.
다음 중 적절한 버튼을 클릭합니다.
- 새 변경사항을 만들려면 Create change를 클릭합니다.
- 기존 변경사항을 업데이트하려면 Update change를 클릭합니다.
대화상자가 열립니다.
그림 5. 변경사항 생성 대화상자
변경사항에 관한 설명을 입력합니다. 이 설명은 Gerrit에 변경사항 설명으로 표시됩니다. 이 설명은 필수 항목입니다. 기존 변경사항을 수정할 때도 원하는 경우 기존 설명을 수정할 수 있습니다.
Publish on create 체크박스를 선택 해제하거나 선택합니다(선택사항).
이 체크박스는 기본적으로 선택되어 있습니다.
변경사항을 생성할 때 이 체크박스가 선택되어 있으면 변경사항이 즉시 Gerrit에 게시됩니다. 체크박스가 선택되어 있지 않으면 변경사항은 Gerrit에 업로드되지만 게시되지는 않습니다.
Create를 클릭합니다.
변경사항이 Gerrit에 업로드됩니다. Publish on create 체크박스를 선택했다면 변경사항이 Gerrit에 게시됩니다. 변경사항은 화면 상단의 알림에 링크됩니다.
그림 6. 변경사항 생성 알림
Gerrit에서 변경사항 승인 상태 추적
변경사항 제출 상태는 다른 변경사항과 마찬가지로 Gerrit에서 직접 추적합니다.
그림 7. Gerrit에서 변경사항 제출 상태 추적하기
파일 비교
편집창에 활성화된 파일의 수정 전과 후를 비교해 보려면 편집창 하단의 Diff 체크박스를 선택합니다. 이 기능은 파일을 변경하거나 기존 변경사항을 수정할 때 유용합니다.
그림 8. 파일 비교하기
파일 되돌리기
대기 중인 변경 목록에 있는 하나의 파일 또는 모든 파일에서 변경사항을 되돌릴 수 있습니다. 두 가지 되돌리기 옵션 모두 Git Source Editor에서만 변경사항을 되돌립니다. 이러한 옵션을 사용해도 Gerrit에는 변경사항이 업데이트되지 않습니다.
하나의 파일 되돌리기
파일 하나를 되돌리려면 Pending changes 목록에서 파일 이름 옆에 있는 X를 클릭합니다.
그림 9. Pending changes 섹션
모든 파일 되돌리기
모든 파일을 한 번에 되돌리려면 편집창 아래의 Revert all files를 클릭합니다.
그림 10. 모든 파일 되돌리기 버튼
팝업 대화상자가 열립니다. Revert all을 클릭하여 대기 중인 모든 파일의 변경사항을 되돌리거나 Cancel을 클릭하여 변경사항을 유지하고 수정을 계속합니다.
그림 11. 모든 파일 되돌리기 확인 대화상자
Android 코드 검색에서 직접 페이지 수정
Android 코드 검색을 사용하여 직접 Git Source Editor에서 파일을 열 수 있습니다. 이 기능은 파일을 수정하기 전에 찾아야 할 때 유용합니다.
다음 절차에 따라 Android 코드 검색에서 직접 파일을 수정합니다.
Android 코드 검색(cs.android.com)에서 수정하려는 파일로 이동합니다.
Edit code를 클릭합니다.
그림 12. Android 코드 검색의 코드 수정 버튼
편집을 위해 미리 선택한 파일과 함께 Git Source Editor가 열립니다.
Select a git branch 드롭다운 목록에서 파일을 수정할 Git 브랜치를 선택한 다음 Pick branch를 클릭합니다.
그림 13. 수정할 Git 브랜치 선택하기
편집창에 파일이 열립니다.
수정하기 섹션에 설명된 대로 수정을 계속 진행합니다.
파일 로드하기 섹션에 설명된 것처럼 수정할 파일을 추가로 열 수 있습니다.
충돌 해결
충돌을 해결하려면 다음 단계를 따르세요.
Git Source Editor에서 변경사항으로 이동합니다. 변경사항이 로드되면 충돌하는 파일이 화면 하단에 나열됩니다. 예를 들어, 그림 14는
Android.pb
파일에 충돌이 있음을 보여줍니다.그림 14. Git Source Editor 충돌
충돌하는 파일을 클릭합니다. 이 파일은 충돌하는 콘텐츠 블록을 연속해서 로드하고 Git 마커(
<<<<<<<
,>>>>>>>
) 안에 표시합니다.그림 15. Git Source Editor 충돌 마커
파일을 수정하고 유지하려는 콘텐츠 주변의 충돌 마커를 수동으로 삭제하여 충돌을 해결합니다. 또한 유지하고 싶지 않은 콘텐츠 및 콘텐츠의 충돌 마커를 삭제합니다.
Create Change를 클릭하여 새 변경사항을 만듭니다. 변경사항 만들기 대화상자가 표시됩니다.
그림 16. 변경사항 만들기
변경사항 설명을 입력하고 만들기를 클릭합니다.
의견 보내기
오른쪽 상단의 버그 버튼 을 사용하여 Git Source Editor에 관한 의견을 보내 주세요.