Why is the netlist (.net) generally in the .gitignore?

Many open source projects put *.net into the .gitignore so that the netlist isn’t tracked (I think it’s due to this very popular example). Why is this?

For example, a netlist is required for the DRC to work so it makes more sense to me to include it vs having every contributor regenerate it.

Speaking personally, I would ignore it because
a) philosophically, it’s an output file, not a source file. It should be regenerated from the schematic and not kept in source control
b) the ordering of lines in the file are non-deterministic, i.e. there are many possible permutations to a netlist file that result in the same design, so I would not check it in to avoid useless changes showing up in the history.

1 Like

I don’t think so…once the netlist is read by pcbnew the info is embedded into the kicad_pcb file, the netlist is not read again unless the user explicitly does an import.

But anyway, I tend to agree it’s an output file, although it can be useful to have in git as a regression check.

1 Like

As above, it rather depends on your flows.
If netlist is easily generated from something already in source control, it is useful for regression checks, but not a required file.
If however the netlist is the master, then certainly it should be included. (see threads on using netlist-master designs)

Personally, I like archives to include output files as well as source, so you can verify a match anytime in the future.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.