[업무 이해] Plastic SCM 게시물에서도 언급했듯이 회사에서 여러가지 문제로 기존에 사용하던 Plastic SCM에서 Git Enterprise로 이관하는 작업을 진행한다.
updateINIFileTool은 환경 변수 경로에 있는 ini file의 commit ID를 갱신하는 Tool이다.
초기 버전에서는 하나의 Module Repository에 관해서만 ini file 갱신을 했는데, 2번째 버전에서는 여러 Module Repository를 대상으로 진행한다.
요구사항
Git Code 주소, Branch명, CommitID를 관리하는 ini file을 갱신해주는 Tool 작성
하나의 Module Repository에 접근하여 작업하는 것이 아닌 CI 저장소에 접근하여 여러 Repository를 한 번에 접근하여 ini file 갱신
서브 Form을 생성하여, 만일 Default Branch가 갱신하고자 했던 Branch명과 다를 경우 사용자가 직접 Branch 선택
여러 Repository에 대해서 갱신 작업을 함으로 사용자에게 진행 상황 표시
메인 화면
서브 화면
ini 파일 내용
동작 방법
환경 변수 경로에 Module(Repository)/ini file들이 있어야 함
Tool이 작동하는 PC에 github SSHKey가 생성 되어 있어야 함
Tool을 실행하면 ini file 내용에 있는 Git Code 주소를 사용자가 입력한 Clone Output Path에 Clone함
Git Workspace Path에 있는 로컬의 각 Repository를 읽고, 환경 변수 경로에 각 Repository 경로에 있는 ini 파일을 갱신 함
만약 Git Repository에서 Default로 정한 Branch가 사용자가 갱신하려는 Branch와 일치하지 않으면, 서브 화면을 띄워 사용자가 직접 Branch를 선택할 수 있게 함
개선 사항
Git clone을 수행하지 않고 원하는 Repositry 브렌치의 최신 Commit ID를 가져오는 방법 조사
마치며
따로 특별한 명령어 없이 기존에 많이 사용했던 Git Command여서 어려움은 없었다. 새로 배운 Command라고 하면 git log에 옵션 -1과 format 옵션으로 원하는 형태로 log를 뽑을 수 있다는 점인 것 같다. 또, ini File Read / Write 하는 코드를 내가 직접 작성하진 않았지만, 어떤 식으로 진행되는지, 작성하는지에 대해 알 수 있어 좋았다.