[TIL] repo sync - curl 404 Not found

서버에 업로드 되어있는 Android Project 소스를 로컬로 가져오기 위해 repo init 이후 repo sync를 하는데 아래와 같은 로그가 나왔다.

...
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
...

404 에러는 서버는 있지만 요청한 사항을 찾을 수 없을 때 발생하는 에러인데, request가 뭔가 잘못 되었나 해서 구글링을 해보았다.

그 결과 아래와 같은 정보를 얻을 수 있었다.

Repo는 Git의 HTTP 프로토콜을 통해 최신 데이터를 다운로드하기 전에 미리 패키지화 된 번들 파일을 다운로드하려고 시도한다.

번들을 사용하면 repo sync시에 서버 쪽에 걸리는 부하를 줄일 수 있다.

번들 파일을 사용할 수 없는 경우 Repo는 해당 파일을 무시하고 계속 진행한다.

즉, 위 로그는 무시해도 좋다.

다만, 404 에러 로그를 보고싶지 않다면 아래와 같이 옵션을 추가하면 된다고 한다.

repo sync --no-clone-bundle

정리

  • repo는 Git의 HTTP 프로토콜을 통해 최신 데이터를 다운로드하기 전에 미리 패키지화 된 번들 파일을 다운로드하려고 시도하고, 이 방식을 사용하면 저장소 서버의 부하를 줄일 수 있다.
  • 번들을 찾지 못하거나 사용할 수 없는 경우 404 에러 로그가 나올 수 있지만, 이 경우 repo는 해당 파일을 무시하고 계속 진행하기 때문에 무시해도 좋다.

좋은 웹페이지 즐겨찾기