Switching libraries back and forth between Mac and Windows

At the office, I use a Windows machine, on the road I use a Macbook Air. I know that schematics and PCB files can be moved from machine to machine, but I’m not sure about Symbol and Footprint libraries. If I edit a symbol library on one machine, can I copy the changes to the other? Thinking about line-ends or other details. Are there other files that have to be copied, like in footprint directories there are .pretty, .bck, .dcm, .lib

A related question is: can I put my whole project structure on my Github account and sync it to both machines as it changes? That would be the best for me.

I am using 6.0.11, it has all the features I need so I haven’t updated.
Thanks,
Lloyd

Application: KiCad (64-bit)

Version: (6.0.11), release build

Libraries:
wxWidgets 3.2.1
libcurl/7.83.1-DEV Schannel zlib/1.2.13

Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
Date: Jan 26 2023 07:02:30
wxWidgets: 3.2.1 (wchar_t,wx containers)
Boost: 1.80.0
OCC: 7.6.2
Curl: 7.83.1-DEV
ngspice: 38
Compiler: Visual C++ 1934 without C++ ABI

Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON

There shouldn’t* be an issues with moving any KiCad files across operating systems. Definitely give it a try with a temporary project first though, if your work depends on it.

Putting the whole project folder + libraries on Github is a very normal thing to do, IMO that’s the best way to minimize chance of data loss. It does require slightly more setup and upkeep than Dropbox, for instance, but being able to quickly tag versions and have a built-in backup system is worth a lot to me.

In terms of files to commit to Github, you could commit everything except the files in the KiCad gitignore template (though definitely read it through first/edit as needed): gitignore/KiCad.gitignore at main · github/gitignore · GitHub

*I’ve not personally run into any issues, but I haven’t used v6 in a long while so I may have forgotten issues that others brought up/fixed.

I have not had problems moving libraries between Windows and Ubuntu Linux

The .pretty is the historical extension for the directory name of a footprint library, but now it is not needed anymore. A footprint library can be any library (In V8, I am not sure about V6).

.bck is likely a backup file. Not too important, but check first what’s in it.

.dcm was (is?) a file for schematic symbol metadata. I think it is also deprecated and a left over from conversion to V5 or earlier formats. Opening one, I see it’s not based on S-expressions. When a project or library is converted to a newer format, KiCad does not delete the old files. For example KiCad V5 has a [Project].pro file, and KiCad V6 and onwards has [Project].kicad_pro, After conversion, you can just delete the old [Project].pro file. Same for the old schematic and PCB files. You already mention you use git, so deleting a few files too many should not be a problem :slight_smile:

Similar for .lib I think it’s also an old file that can be deleted, but you should verify this yourself.

As KiCad is cross platform, I suppose it does not care much about line ending in any of it’s files. Also, did you know that git can doe line ending conversion on checkout?

Are you sure about that? There are some 150+ new features introduced after KiCad V6. But it is not only new features. Existing features are also being improved. For example the way the interactive router pushes tracks aside works better in each new KiCad version. Yet another reason for updating KiCad is that you get out of sync with the rest of the world. It’s hard to remember what the difference are between a current and an old KiCad version. We on the forum forget such details after a few years. Almost nobody can help you with bugs or peculiarities of KiCad V6 anymore.

The change of V5 to V6 was huge. Both the file formats file structure (remember the cache and rescue files) and all the icons in the GUI changed. With upgrades from V6 to newer KiCad versions changes are much more incremental. If you upgrade KiCad it’s quite likely you hardly notice it in day to day use, (except for the new functions).

At least you are on V6.0.11, which is the latest of the V6 series and that is good. I am on V8 myself, partly because of the work I do for this forum, and partly because I want to help with bug fixing. The latest version always has issues after release. At the very least, plugins stop working because they need to be updated too. If you don’t want / need the newest, then upgrading to the latest bug fix release of the previous KiCad version is a good strategy. That would be V7.0.11 at the moment. You probably don’t know what you’re missing. While reading through the release notes of KiCad V7.0.0 I see quite a lot of things I would not want to do without anymore.

Best I know there are hardly any (of note at all) issues with upgrading after V6 You just open your project and continue working. The only “missing” thing is future compatibility. KiCad can’t open files from newer KiCad versions. I am hoping that at some time KiCad will start doing a “best effort” to read future versions. File format changes are ever getting smaller as the file format matures, and all changes are localized because of the S-expression format.

Already half way through the V8 lifecycle, I would jump straight to 8.0.4 now. The only pain will be a lot of ERC and DRC warnings and errors - the checking is much more thorough these days and these are real issues to be checked

Just want to say thanks to everyone for all the great input. These forums are just great.

Lloyd

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