[형상 관리 이관 작업] ini file Update Tool 개발

  1. 개요
  2. 요구사항
  3. 메인 화면
  4. 서브 화면
  5. ini 파일 내용
  6. 동작 방법
  7. 개선 사항
  8. 마치며

개요


  • [업무 이해] 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 하는 코드를 내가 직접 작성하진 않았지만, 어떤 식으로 진행되는지, 작성하는지에 대해 알 수 있어 좋았다.