2016-06-13 1 views
1

이 고려 멈추지 않는다 : 머리는 항상

svn log -r HEAD:1 --search $pattern | head -4 

때때로이 명령 라인의 필요한 양을 찾습니다 (예를 들어, 4) 정지합니다. 그러나 때로는 필요한 양의 행을 찾은 후에도 검색을 계속합니다 (즉, 멈춤).

나는 그것이 무엇을 의존하고 있는지 (검색을 계속할지 또는 멈추는 지) 알지 못합니다. 이유를 알고 싶습니다. 내 명령을 수정하는 방법을 알고 싶습니다. 필요한 양의 줄을 찾은 후 바로 멈 춥니 다. (영원히 걸릴 수 있으므로 전체 svn 기록을 검색하지 않으려 고합니다.). 일반

답변

1

svn log은 항상 당신이 (당신이 --limit 스위치를 사용하거나 /branches/myfeature 같은 일부 서브 트리를 지정하지 않는 가정) 프로세스를 종료하지 않는 한 쿼리에 0 관련에 HEAD 개정에서 개정의 역사를 보여주는 것입니다. 스크립트가 필요한 로그 메시지 수를 표시하면 프로세스를 종료하도록 스크립트를 조정하십시오.

+0

쉘 파이프 기능이 내장되어 있지 않습니까? 나는 4 줄의 입력을 읽은 후에'head' 만 파이프 나 뭔가를 닫을 수 없다는 것을 의미합니다 ('svn log'도 끝내야 만합니다)? – NPS

+0

@NPS 프로세스를 명시 적으로 종료해야합니다. 나는'head'가 파이프를 닫는 지 여부와 그것이 원래'svn log' 프로세스를 죽이는 지 여부를 확신하지 못합니다. – bahrep

+0

그러나 '머리'가 보았던 것은 필요한 양의 입력이있을 때 파이프 처리 과정을 어떻게 든 죽입니다. '예 | 머리'. 분명히'head'는'svn log'로 이상한 방식으로 상호 작용합니다. ** ** 나를 위해 멈추기 때문에, 항상 그렇지는 않습니다. – NPS