2014-12-04 1 views
2

자식 노드 클론으로 만든 (leiningen) 프로젝트 트리가 있다고 가정 해보십시오. 이것은 lein new template을 통해 생성 된 프로젝트의 부분 집합 일 수 있습니다. 이는 완전히 합법적입니다. 이미있는 적절한 소스 트리를 통해 lein 프로젝트를 롤 포워드하는 --force 옵션이 있습니다. 나는 이것을 다음과 같이 시도했다 :Clojure : leiningen (--force)와 git interaction

$ lein new app alfa --force 

이것은 모든 소스 파일을 템플릿 스텁으로 교체했다. 나는 무엇이 잘못 되었는가?

정액 토론 : 당신은 여기에 잘못 아무것도 못하고있어 issue #1467

답변

1

, 이것은 강제 옵션이 작동하는 방식이다. 프로젝트에 leiningen 프로젝트에 대한 파일 및 폴더의 일부 하위 세트가 이미 있으면 프로젝트 디렉토리에 이미 있으면 덮어 씁니다. 이것은 실행되고있는 작업이 "새로운"작업이라고 생각하여 기존의 동작처럼 보입니다. 이 프로젝트는 실제로 새로운 프로젝트이지만 디렉토리가 이미 생성되어 있다는 가정하에 작동합니다.

+0

지금까지 이런 종류의 추론은 나에게 약간의 수수께끼입니다. 이는 기존 디렉토리가 쓸모가 없으며 사전에 수동으로 삭제되거나 전혀 작성되지 않았 음을 의미합니다. 예를 들어, lein idefiles 작업은 분명한 이유 때문에 존재하며 파괴적이지 않습니다. –

+0

당신이있는 시나리오를 처리하는 방법은 새 디렉토리에 force 옵션을 사용하지 않고 lein new를 사용하고 로컬 git 디렉토리의 파일을 새로 생성 된 디렉토리에 복사하여 템플릿 파일을 덮어 쓴다. 자식. 그런 다음 새 디렉토리에서 git repo를 가리 키도록 업스트림을 설정하십시오. – pwnyexpress

+0

다른 방법이 없다면 ...하지만 --force 옵션의 유용성은 무엇입니까? –