Keeping track of changes done and to be made? - Page 1
Forum section: electronics / general

author: logictom
author_rank: Unknown
timestamp: January 05, 2015, 12:57:12 am
content: I am looking for a way to store changes to be made to the next revision of a given PCB, when updating a PCB to be able to refer to this list and check them off as completed and then later on refer back to the list to see what was changed between revisions.At the moment it's a case writing a paper list of changes to be made, ticking them off and to refer back requires checking the piece of paper, if not lost, or opening the two schematics/PCB files, which is ok to a degree but doesn't tell you why something was changed.We have bugzilla running, I tried entering these in as bugs which works reasonably well but there's no easy way to generate a spreadsheet which has includes the open and closed bugs that also shows all the comments.How do other people do this? Are there any solutions available?I would like something that keeps the history, something like a spreadsheet would allow people to modify older records, leave the file open so no one else can modify it, the file can be deleted, etc.

author: Mr.B
author_rank: Unknown
timestamp: January 05, 2015, 01:17:39 am
content: I use Microsoft Team Foundation Server for this and much more.It is intended to be used as a software development versioning tool, but can manage any file type.Tasks and Bugs can be assigned to an 'iteration' or revision.Reporting is very good.TFS Express is free. Limited to 5 users.http://www.microsoft.com/en-nz/download/details.aspx?id=38190

author: zapta
author_rank: Super Contributor
timestamp: January 05, 2015, 01:29:40 am
content: What you need is a combination of version control and issue tracking systems. They are a very common practice in the software development world and there are many implementations. Just search around with the right keywords. For my personal projects I use github.

author: logictom
author_rank: Unknown
timestamp: January 05, 2015, 02:29:42 am
content: ThanksI will check out TFS Express as we are only a small team so that might work, main issue will probably getting something to run it on as our servers are currently linux based.We are switching over to git, from svn, for our software development but Altium doesn't support git integration so we are still copy pasting versions into new folders - I was hoping the new version of Altium would support git.Is there a local version of a github type of setup available?

author: Mr.B
author_rank: Unknown
timestamp: January 05, 2015, 02:31:17 am
content: Quote from: zapta on January 05, 2015, 01:29:40 amTeam Foundation Server does this exceptionally well.

author: eeparkerj
author_rank: Newbie
timestamp: January 05, 2015, 06:10:48 am
content: Quote from: logictom on January 05, 2015, 02:29:42 amYou could try Atlassian Stash, it is what we use at work.https://www.atlassian.com/software/stash

author: miguelvp
author_rank: Super Contributor
timestamp: January 05, 2015, 06:16:45 am
content: I like perforce myself, they do offer a twenty seat free with no limitshttp://www.perforce.com/downloads/Perforce/20-User

author: zapta
author_rank: Super Contributor
timestamp: January 05, 2015, 06:40:55 am
content: Quote from: miguelvp on January 05, 2015, 06:16:45 amPerforce the the most intuitive version control system I ever used. Does it also support issue tracking?

author: zapta
author_rank: Super Contributor
timestamp: January 05, 2015, 06:44:31 am
content: Quote from: logictom on January 05, 2015, 02:29:42 amWhy do you need special support? Can't you just check in the altium files? This is what I am doing with Eagle files.Here is for example a schematic file with historyhttps://github.com/zapta/arm/commits/master/pro-mini/eagle/arm-pro-mini.sch

author: mstevens
author_rank: Regular Contributor
timestamp: January 07, 2015, 06:26:29 pm
content: GIT. ...Everyone should be using this now. Only the uninformed are not.

author: miguelvp
author_rank: Super Contributor
timestamp: January 07, 2015, 06:40:24 pm
content: Quote from: zapta on January 05, 2015, 06:40:55 amI don't know if it has one out of the box, we use JIRA but I didn't set it up, so I don't know if we rolled our own integration or used JIRA's pluginsA quick search gave me this:https://confluence.atlassian.com/display/JIRA/Integrating+JIRA+with+Perforce

author: westfw
author_rank: Super Contributor
timestamp: January 08, 2015, 02:25:44 am
content: When I'm being well-behaved, I simply create extra text layers (in EAGLE) for "Edit history" and "Todo":

author: free_electron
author_rank: Super Contributor
timestamp: January 08, 2015, 09:14:56 am
content: I wrote an altium script for such things.It creates a csv file. If your pcb is called mypcb.pcbdoc the csv file is called mypcb.pcblog.The script detects if such a file exists or not. If it does not exist the log is created and added to the project and marked for inclusion in version control.The script is launched froma toolbar so it looks just like a regular altium toolwindow.Top half is a spreadsheet-like table. It shows , per line : time,dat,user and comments in shortform.If you click on a line the bottom half text editor shows the entire text.There are two buttons : new entry. And exit. Exit autosaves.New entry creates a new line with automatic date and time and user insertion (i pick up the logged in user from the network automatically.You can onle edit your own entries. Entries made by someone else cannot be edited.I will add an option to create 'todo' entries as well. Those can be picked up by others and marked as 'done'. If you select such a line an extra button will appear saying 'create new entry from here. It will clone the text automatically and mark the orignal line as 'handled'. There will be a reference to the time and date stamp.So to all you need is look at the last entry. It will be either be a closed thread , or it will be a todo entry or it will be a todo with history.Since the whole trunk is stores as csv data it can be easily parsed by search algorithms.The whole thing is written in altiums internal vbscript.I need to figure out how to colorize lines in the tgrid object. Altium is written in embarcader delphi and i use the tgrid object to create the grid.

author: westfw
author_rank: Super Contributor
timestamp: January 08, 2015, 11:06:01 am
content: I would hope that the high priced packages include either their own "version control" tools, or an interface to one or more standard tools...

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 08, 2015, 11:33:19 am
content: Altium has VCS and "Todo", but they're pretty minimal and not very useful.Tim

author: codeboy2k
author_rank: Super Contributor
timestamp: January 09, 2015, 12:58:04 am
content: I'm a git user myself, but I just looked at Git Stash.. for $10 for 10 users is a steal of a deal.I have also used perforce in the past, it's a great revision control system as well, and you won't go wrong.But seriously, Stash looks way better

author: westfw
author_rank: Super Contributor
timestamp: January 09, 2015, 05:41:42 am
content: BTW, I did this little shell script for visualizing diffs in PCBs by importing mutiple gerber files into the "gerbv" viewer (with some carefully chosen color schemes and rendering methods):http://www.instructables.com/id/Visualizing-EAGLE-Edits-with-a-Gerber-Viewer/And the folks at Evil Mad Scientists Labs did a writeup using more advanced tools:http://www.evilmadscientist.com/2011/improving-open-source-hardware-visual-diffs/

author: zapta
author_rank: Super Contributor
timestamp: January 09, 2015, 02:15:26 pm
content: Quote from: westfw on January 09, 2015, 05:41:42 amI do it with PDF dumps of eagle schematics and layouts. Araxis Merge (best diff tooI I ever used) does also visual PDF diffs.

author: Jeroen3
author_rank: Super Contributor
timestamp: January 09, 2015, 02:30:23 pm
content: I keep versions in git (with sourcetree). For eagle this works fine, text diff does give you some degree of information. For a full compare you'd need to create pdf or png to compare. (still looking for git plugins capable of this)Keep in mind that merge operations are prohibited!Altium is equipped with pcb comparing. It even has integrated version control. Thats what you pay for.For todo I follow this example, mostly on software.Code:Status:- = Planned.X = In progress, some work done.* = Done.? = Not sure if worth the effort or useful at all.N = Decided against.Prepend versions on list from top (oldest at bottom)----------Version 0- Implement thing.For bugs on pcb I just use text files.Code:Schematic page title:- issue description, C31 C30= problemOnce the issue is resolved, the entry is removed from the file. (it is archived in git)

author: codeboy2k
author_rank: Super Contributor
timestamp: January 10, 2015, 01:12:44 am
content: trello is great for your status list..just move things around with a drag and drop into different columns.Attach files and collaborate with others in a small team if you need to.The only downside is that it's "in the cloud" and we all know that cloud services don't last.

author: logictom
author_rank: Unknown
timestamp: January 17, 2015, 07:02:14 am
content: Thanks for all the feedback guys, I've been off working on other things but now back at looking for a suitable implementation.I will check out the different options mentioned, finding the best tool for everyone that uses it will be the tricky part, it might be we can use something like one of the git plus frontends running issue tracking can be used for both or we go with two tools one for software and one for hardware.Quote from: free_electron on January 08, 2015, 09:14:56 amThat sounds like it might do the trick, would you mind sharing your script so I can give it a run through?

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: January 25, 2015, 11:22:18 am
content: I just put text notes outside the PCB outline, and delete when changes are done.That way I can't miss them! Anything that's hidden away in another file can be forgotten about.