2012-05-16 2 views
3

우리는 임베디드 ARM 리눅스 시스템을 사용하고 사용자 정의 하드웨어가 제어되는 SBC 기반 제품을 일부 보유하고 있습니다. 따라서 사용자 정의 커널 드라이버를 개발하고 기존 커널 드라이버를 수정해야합니다. Subversion을 사용하기 시작한 이래로 선택된 전략은 "공급 업체 지점"을 사용하여 바닐라 커널을 사용하고 각 제품에 대한 지점을 만드는 것이 었습니다. 여기서 우리는 SBC에 필요한 패치를 적용하고 자체 수정을가했습니다. https://stackoverflow.com/q/2312984/1007502개인용 Gitolite 서버에서 공식 Linux 커널 트리를 미러링하는 방법은 무엇입니까?

고맙게도 몇 달 전에 우리는 우리 프로젝트를 git로 마이그레이션하기로 결정 했으므로 개발 팀간에 프로젝트를 공유하기위한 gitolite 서버를 설치하고 필요에 따라 SVN에서 프로젝트를 마이그레이션하고 얻을 수 있습니다. 자식과 더 편하지. 리눅스 커널의 특수한 경우에는 gitolite 서버를 원격으로 사용하여 프로젝트를 개발할 수있는 옵션이 있다는 것은 흥미로운 일이지만 공식 트리에서 새로운 커널을 가져 와서 결국에는 뭔가를 기여할 수 있기를 바란다. 그것을 허용하는 상태에 도달하면 뒤로.

내 컴퓨터에서 공식 커널 트리를 복제하고 제품의 개인 분기를 만들고, 필요에 따라 새로운 커널에 리베이스하는 방법을 볼 수 있습니다 (예 : here). 하지만 공식 커널 저장소를 공식 커널 저장소 대신 밀어 넣을 수있는 방법으로 공식 커널 트리를 gitolite로 가져와야 할 때 잃어 버렸습니다.

Google의 공식 트리에서 업데이트를 가져 와서 개인 gitolite 서버로 다시 가져 오는 문제입니까, 아니면 좀 더 직접적인 접근 방법입니까?

편집 : (질문을 명확히은)
주요 문제는 : 나는 gitolite에 비 추적 코드를 밀어위한 빈 저장소를 초기화하는 방법을 알고 있지만, 내가로부터 복제 된 무언가를 그렇게하는 방법을 잘 모르겠어요 공식 커널 트리와 같은 또 다른 git 저장소.

일단 내 컴퓨터에 복제본이 있으면 개인 Gitolite 서버로 이동하는 절차는 무엇입니까?

그러면 "공식적인"커널 트리를 이제 공식 커널과 동기화하여 어떻게 유지할 수 있습니까?

개발자는 사설 트리에만 밀어 넣어야하며, 궁극적으로 공식 트리에 패치를 보내야합니다.

답변

2

복제 원래 커널 소스 :

git clone $KERNEL_URL 

이름은 gitolite, 개인 gitolite 저장소에 원격을 추가

git remote add gitolite $GITOLITE_URL 

를 작성하여 사설

git checkout -b our-branch 

밀어 당신의 사립 지토 사이트 저장소에 개인 지점

git push gitolite our-branch 

끝났습니다.

Google의 공식 트리에서 업데이트를 가져 와서 개인용 gitolite 서버로 푸시하거나 직접 접근하는 방법이 있습니까?

기본적으로 그 것입니다. 내가 이해 한 것과

+0

@Daniel Baulig에 감사드립니다. 귀하의 절차가 정확하지만, 나는 실제적인 의심이 법리 트리를 gitolite로 가져 오는 방법에 대해 강조하지 않았 음을 알고 있습니다. 개발자가 사용하기 위해 업데이트해야합니다. 정확하게 새로운 리모컨을 등록하고 밀어 넣는 방법이 아닙니다. 질문을 수정하여 명확하게했습니다. 어쨌든 고마워! – Claudio

2

, 당신이 관심이 리모컨이 있습니다

  • 주요 커널 저장소 (예를 들어, Github에서의 하나)
  • 귀하의 gitolite 저장소

을 이것은 사실입니다 아주 간단합니다. 로컬 저장소 (아마도 이미 gitolite에 대해 이미 가지고있는)에 두 개의 리모트를 추가하기 만하면됩니다. git remote add .... 그런 다음 하나의 리모컨에서 물건을 가져 와서 코드와 병합해야하며, 만족 스러울 경우 다른 리모콘으로 밀어 넣어야합니다. 이 과정은 바닐라 커널에서 업데이트를 가져 와서 자신의 리모트 또는 그 반대 방향으로 적용하는 것과 완전히 똑같습니다 ...

... 제외하고는 물론 당신의 저장소가 아닌 저장소로 푸시 할 수 없습니다. 따라서 바닐라 커널에 다시 기여할 때는 pull 요청을 보내 Linus 또는 그의 하인 중 한 명에게 요청을 수락하도록 설득해야합니다. (참고 : Linus는 github pull 요청을 허용하지 않습니다.)

+0

답장을 보내 주셔서 감사합니다 @ Shahbaz. 내가 위의 Daniel에게 말했듯이, 나의 주요 문제는 나의 컴퓨터에서 복제 한 공식 트리를 gitolite로 옮기는 방법이다. (나는 이것을 지적하기 위해 편집했다). 일단 서버에 "there"가 있으면 서버가 공식 트리에서 업데이트를 가져 오게하거나, 공식 트리에서 내 컴퓨터로 끌어 와서 개인용 컴퓨터로 다시 밀어 넣어야하는지 확실하지 않았습니다. 서버, 당신이 말한 것 같습니다. – Claudio

+0

@Claudio, 공식 트리 _yourself_에서 당겨서 병합 후 개인 서버로 밀어 넣고 충돌이 없는지 확인해야합니다. 개인 저장소가 아마 "벌거 벗은"자식 저장소를 유지하고 있기 때문에 다른 해결책은 아마도 가능하지 않습니다. – Shahbaz

관련 문제