PSoC CreatorのプロジェクトをGitで管理するときの.gitignore

自分用メモ

f:id:niwat0r1:20200501223052p:plain

CypressのPSoCシリーズを開発するためのPSoC Creatorは高機能なIDEです。 が、中間生成ファイルが多いので、そのままGitみたいなバージョン管理ツールにぶち込むとかさばってcloneしたりするときに大変なことになります。

なので、プロジェクトの大本になるファイル群のみをGitで管理するようにして、中間生成ファイルはそれぞれの環境で作ってもらうようにするとコンパクトになります。

実際にどのファイルが必要になるかは以下のリンクに詳しく書かれています。 community.cypress.com

必要なファイル

PSoC Creator 4.2のプロジェクト構成はこんな感じになっています。うちステージングするファイルを太字にしました。

  • <WorkSpace Name>
    • <WorkSpace Name>.cywrk
    • <WorkSpace Name>.cywrk.<User Name>
    • <Project Name>.cydsn
      • codegentemp
      • CortexM3
      • Export
      • Generated_Source
      • TopDesign
        • TopDesign.cysch
      • cyapicallbacks.h
      • main.c
      • <Project Name>.cycdx
      • <Project Name>.cydwr
      • <Project Name>.cyfit
      • <Project Name>.cyprj
      • <Project Name>.cyprj.<User Name>
      • <Project Name>.rpt
      • <Project Name>.svd
      • <Project Name>_timing.html

<WorkSpace Name>.cywrkについては、上のURLではOptionにされていますが、これがないとWorkSpaceに複数のProjectを持たせた場合に環境を正しく復元できなくなります。

また、ユーザーライブラリなどをプロジェクトに追加した場合はそれも必要になります。

.gitignoreを書く

以上をもとにして.gitignoreを書きました。 <WorkSpace Name>.cywrkなどがある階層に放り込むと動きます。

# PSoC Creator
*.cywrk.*
/*.cydsn/*
!*.c
!*.h
!*.cydwr
!*.cyprj
!/*.cydsn/TopDesign

# !/User_Library

これで大量のGenerated_Source下のファイルをわざわざ更新する必要がなくなるので捗りそうです。