PCB version control and notes - Page 1
Forum section: electronics / general

author: rx8pilot
author_rank: Super Contributor
timestamp: May 26, 2015, 03:45:48 am
content: I have been trying to figure out if there is any way (in Eagle or third party) to embed version notes in the .sch and .brd files. A simply way to take notes on circuit functions and description of changes that are tied to the various revisions. For now, I just keep a separate spreadsheet with notes so that I can decode my own designs. Sometimes It is easy to forget what a section of a circuit was supposed to do and have to reverse engineer my own designs. This is why I keep detailed notes for designs that have many hundreds of components.It would be nice to keep these notes embedded if possible.

author: zapta
author_rank: Super Contributor
timestamp: May 26, 2015, 04:13:34 am
content: How about using a version control system such as git? This is what I am doing and Eagle's .brd and .sch are text based and intuitive and thus version control and diff friendly.

author: rx8pilot
author_rank: Super Contributor
timestamp: May 26, 2015, 04:48:12 am
content: Quote from: zapta on May 26, 2015, 04:13:34 amGit could be a good solution, although I need to learn more about it. Tying all the relevant data together would be nice. In my case, I design the mechanics, CNC data, electronics, software, as well as the graphics. Do you think git would work well with the myriad of binary data sources or is it primarily for text code?

author: zapta
author_rank: Super Contributor
timestamp: May 26, 2015, 04:58:47 am
content: Quote from: rx8pilot on May 26, 2015, 04:48:12 amYou can use it for binary files with no problem, except that you will not have meaningful diff between version.One tick I am using is also including a PDF print of the designs and using araxis merge for visual diff of the PDF files.Git is not very intuitive but you need to know only a few commands, status, add, remove, commit, push, etc, and once you get the hang of it it's simple. Github for example provides both public (free) and private (per small fee) repository or you can run your own git server.Other version control systems are also available and some are more intuitive than git (e.g. perforce) but git is the most common.

author: Fred27
author_rank: Unknown
timestamp: May 26, 2015, 07:44:19 am
content: As other posts have said, a version control is perfect for this. It will also allow you to recover older versions of your board in case your last improvement... err... wasn't. A hosted solution (eg. github or bitbucket) give you an off-site backup too.I'm a fan of Git but to be honest there are simpler source control systems that will do the job without Git's learning curve - e.g Subversion amongst others. Go for Git if you want the latest trendy powerful tool, but be prepared to be bitten by it occasionally!

author: Psi
author_rank: Super Contributor
timestamp: May 26, 2015, 08:00:09 am
content: You can use sourcetree if you want a more GUI interface to your git repo

author: matseng
author_rank: Frequent Contributor
timestamp: May 26, 2015, 08:12:28 am
content: Or githubs own gui applications athttps://windows.github.com/andhttps://mac.github.com/Speaking of neat github features I recently discovered that they now can graphically show the differences of two versions of checked in svg files. (And png, jpg and psd files as well...)https://github.com/blog/1902-svg-viewing-diffing

author: Jeroen3
author_rank: Super Contributor
timestamp: May 26, 2015, 11:49:42 am
content: Note that your don't need a server to use git. Git works locally, and does not require any remote.And if you want a remote, create one anywhere (git --bare --shared) accessible through ssh, nfs or smb. Not sure about ftp or afp.Works great.Although I would be a bit reluctant on merging eagle files.Eagle has a layer for comments and notes. You can also create new layers for your comments for each layer. If you want to.

author: rx8pilot
author_rank: Super Contributor
timestamp: May 26, 2015, 05:50:02 pm
content: The GUI based options are the most interesting. I am already so overloaded with a huge range of software and all the band-aids that hold them together. Another CLI based solution where I need to remember commands and syntax may have me looking for a tall bridge. I will take a look at the suggestions to see if some stand out. Sometimes the easy solutions look hard at first and the pain-in-the-ass solutions can look easy on the surface. Hope I can make wise decisions.Quote from: Jeroen3 on May 26, 2015, 11:49:42 amI should at least use this as a fast scratch pad to take notes. Although not a replacement for a spreadsheet, it always glued to the Eagle files and a hot-key away so that I have no excuse not to use it. I guess I can always copy-paste the information out into more detailed external documentation.Thank you all for the suggestions.

author: LabSpokane
author_rank: Super Contributor
timestamp: May 26, 2015, 07:37:15 pm
content: Quote from: Fred27 on May 26, 2015, 07:44:19 amI was reading up on GitHub for the same reasons as RX8, and they specifically say not to use their service as a backup tool. I find that curious since I thought they saved a historical record on one's files. I still have an online backup service, so it isn't the end of the world, but it's an odd statement given their purpose.

author: Jeroen3
author_rank: Super Contributor
timestamp: May 26, 2015, 07:59:33 pm
content: A service like github, Code Spaces, was hacked and all* repositories including backups were deleted. Basically the server control panel account was wiped by the hacker.

author: rx8pilot
author_rank: Super Contributor
timestamp: May 26, 2015, 11:51:12 pm
content: I have an online backup scheme that replicates all data on cloud services on local drives. It is a one-way path, so a file deleted on a cloud service will never delete the multiple local backups. I trust no-one because I have been burned. Not by hackers, but by cloud based incompetence or going out of business.Has anyone used BOX for business? I think it keeps versions for reversion.On the topic of keeping notes that are intended to help keep track of why changes were made or how a section of the circuit works - is excel the most common way to do this? Does anyone use the notes layer for this purpose.