배경 : Mac OS X plist 형식은 기본적으로 바이너리이며, git으로 추적하는 것과 같이 좋지 않습니다. 명령이있다. plutil -convert
바이너리에서 XML로 앞뒤로 변환 할 수 있지만 주어진 plist 파일을 XML로 유지하는 것은 불가능한 것처럼 보입니다.
내 아이디어는 launchd WatchPaths 기능을 사용하여 두 개의 스크립트를 설정합니다. 하나는 이진 파일을 ~/Library/Preferences
내 git repo에서 XML 파일로, 다른 하나는 XML 버전이 바뀌면 이진 파일을 다시 변환합니다. 두 컴퓨터간에 두 파일을 동기화하기 위해이 두 번째 방향이 필요합니다.
유일한 문제는이 파일을 순진하게 설정하면 바이너리 파일이 변경되는 즉시 XML 파일을 업데이트하기 때문에 끝없이 실행되지만 XML 파일이 변경되므로 결과가 이진 파일을 업데이트하는 등의 작업을 수행합니다.
이 사이클을 피할 수있는 영리한 방법이 있습니까? 내가하고 싶은 일은 파일을 마지막으로 작성한 것이 환경 설정 파일을위한 프로그램이거나 스크립트 자체 일 경우 바이너리를 XML로 변환하는 스크립트를 체크인하는 것이다. 운영. 파일에 쓸 수있는 일종의 속성이 있나요? 일반 프로그램이 파일을 쓸 때 지워지겠습니까?