Community

이번 Git 2.38.0 버전에 scalar라는 새로운 명령어가 추가되었습니다. 이 명령어는 엄청나게 큰 모노레포를 다루기 위해서 추가된 명령어인데 이 글은 scalar를 만들어서 Git에 추가하기

이번 Git 2.38.0 버전에 scalar라는 새로운 명령어가 추가되었습니다. 이 명령어는 엄청나게 큰 모노레포를 다루기 위해서 추가된 명령어인데 이 글은 scalar를 만들어서 Git에 추가하기 까지의 과정을 담고 있습니다. 오래전에 글을 봤었는데 Microsoft에서는 Windows의 저장소가 너무 커서 협업하기 어려움이 있었고 새로 clone에 12시간이 걸리고 checkout에만 3시간이 걸려서 VFS for Git이라는 프로젝트를 2017년에 만들어서 사용하고 있었습니다. 이는 전체 저장소를 다 가져오기 어려우리 파일을 실제로 사용할 때만 가져오도록 만들었습니다. 이 노력이 scalar로 이어진 걸로 보이는데 이후 MS Office에서도 VFS for Git을 쓰려고 하다보니 오피스에서는 macOS도 지원해야 했지만 macOS에서는 VFS for Git을 쓸 수 없었다고 합니다. 그래서 sparse checkout에 cone 모드를 추가해서 VFS와 비슷한 성능을 얻을 수 있었고 이를 통해 VFS for Git과 별개로 만들기로 결정하고 scalar가 시작하게 됩니다. Scalar 의도에 맞게 아키텍처를 개선하다보니 Git을 감싸고 있는 CLI 형태가 되었고 거대한 모노레포의 문제가 Microsoft에만 있는 것은 아니므로 Git 업스트림에 기여하기 시작해서 이번 릴리스에 포함되었다고 합니다. git clone 대신 scalar clone 명령어를 사용하면 대규모 저장소의 성능과관련된 기능이 포함되어 있습니다.

알림

알림이 없습니다