{"thread":{"id":"48955","subject":"Using Git for applications other than code development","startedAt":"2018-07-25T13:09:05Z","lastAt":"2018-07-25T14:48:35Z","messageCount":3,"participants":["David Hind","Randall S. Becker","Konstantin Khomoutov"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"353564","messageId":"4b9575bf039e46cd9dc150111916e734@LINCEXCHANGE1.dynexsemi.com","threadId":"48955","inReplyTo":null,"subject":"Using Git for applications other than code development","fromName":"David Hind","fromEmail":"david.hind@dynexsemi.com","sentAt":"2018-07-25T13:02:16Z","receivedAt":"2018-07-25T13:09:05Z","isPatch":false,"sender":{"key":"david.hind@dynexsemi.com","avatar":null},"body":"Hi,\n\nI work for a company that is looking to adopt VCS and I like sound of Git (although I have no experience of using VCS). My question is, everything seems to be directed towards code developers. Can I use Git to do revision control for other types of design document? For example electrical circuit designs, circuit PCB designs etc.?\n\nThanks!\nDavid\n\n________________________________\n\nDynex Semiconductor Limited.\nRegistered in England and Wales: No 3824626\nRegistered Office: Doddington Road, Lincoln, LN6 3LF, United Kingdom\n\nThis e-mail and any attachments are confidential and may be privileged. If you are not the intended recipient please notify the sender immediately, delete the email from your system and do not disclose the contents to another person, use it for any purpose or store or copy the information in any medium.\nWhilst we run anti-virus software on all internet emails we do not accept responsibility for viruses and advise that in keeping with good computing practice you should ensure this email and any attachments are virus free.\n"},{"id":"353565","messageId":"006f01d4241b$de430c80$9ac92580$@nexbridge.com","threadId":"48955","inReplyTo":"4b9575bf039e46cd9dc150111916e734@LINCEXCHANGE1.dynexsemi.com","subject":"RE: Using Git for applications other than code development","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-07-25T13:31:55Z","receivedAt":"2018-07-25T13:32:10Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"Hi David,\n\nI have used git over the past 3 years in a manufacturing environment to\nmanage component designs in a CAD/factory automation setting. There are a\nfew main factors that you need to consider:\n\n1. You will need an external tool like Git for Windows, GitHub Client or\nSourceTree for performing git operations on your workstations because your\ndesign software is unlikely to support any VCS directly.\n2. Your design software probably needs to store its designs in some text\nform. This will allow a lot of the advanced git functions, like annotate, to\nwork nicely. This is not a requirement as git is happy to manage binaries\n(your renderings, for example).\n3. You might need to figure out a way to interpret changes when there are\nconflicts between designers. This either means learning the underlying\nformat (auto-lisp??) or making choices of whose design is going to take\npriority without trying to merge changes or otherwise resolve conflicts.\n4. Lastly (but really there are more you will encounter), you will need to\ndecide on either a local shared repository (GitHub Enterprise, BitBucket\nServer, GitLab, etc.) or a similar cloud solution (same names). There are\ncosts for each, usually depending on your team size. The costs are pretty\nsmall for small teams and more than worth it, IMHO.\n5. I have been repeatedly surprised at how many hardware component designers\nactually have git experience (followed lastly deliberately).\n\nGit is generally a good fit for advanced manufacturing. I'm including a\ndiscussion of git in a seminar I am giving at IWF Atlanta next month.\n\nCheers,\nRandall\n\n-- Brief whoami:\n NonStop developer since approximately 211288444200000000\n UNIX developer since approximately 421664400\n-- In my real life, I talk too much.\n\n\nFrom: git-owner@vger.kernel.org <git-owner@vger.kernel.org> On Behalf Of\nDavid Hind\nSent: July 25, 2018 9:02 AM\nTo: 'git@vger.kernel.org' <git@vger.kernel.org>\nSubject: Using Git for applications other than code development\n\nHi, \n\nI work for a company that is looking to adopt VCS and I like sound of Git\n(although I have no experience of using VCS). My question is, everything\nseems to be directed towards code developers. Can I use Git to do revision\ncontrol for other types of design document? For example electrical circuit\ndesigns, circuit PCB designs etc.?\n\nThanks!\nDavid \n\n________________________________________\n\nDynex Semiconductor Limited.\nRegistered in England and Wales: No 3824626\nRegistered Office: Doddington Road, Lincoln, LN6 3LF, United Kingdom\n\nThis e-mail and any attachments are confidential and may be privileged. If\nyou are not the intended recipient please notify the sender immediately,\ndelete the email from your system and do not disclose the contents to\nanother person, use it for any purpose or store or copy the information in\nany medium.\nWhilst we run anti-virus software on all internet emails we do not accept\nresponsibility for viruses and advise that in keeping with good computing\npractice you should ensure this email and any attachments are virus free.\n\n"},{"id":"353567","messageId":"20180725144826.wznifhnrahav6tdv@tigra","threadId":"48955","inReplyTo":"4b9575bf039e46cd9dc150111916e734@LINCEXCHANGE1.dynexsemi.com","subject":"Re: Using Git for applications other than code development","fromName":"Konstantin Khomoutov","fromEmail":"kostix@bswap.ru","sentAt":"2018-07-25T14:48:26Z","receivedAt":"2018-07-25T14:48:35Z","isPatch":false,"sender":{"key":"kostix@bswap.ru","avatar":null},"body":"On Wed, Jul 25, 2018 at 01:02:16PM +0000, David Hind wrote:\n\n> I work for a company that is looking to adopt VCS and I like sound of\n> Git (although I have no experience of using VCS). My question is,\n> everything seems to be directed towards code developers. Can I use Git\n> to do revision control for other types of design document? For example\n> electrical circuit designs, circuit PCB designs etc.?\n\nIn addition to what Randall said (I would affirm he has presented a\ncomprehensive and correct picture), I'd make one minor note: Git is a\ndistributed VCS, and this requires certain pondering.\n\nEven though you will almost certainly have one central (also\ncolloquially called \"rendez-vouz\") repository where everyone pushes\ntheir changes to, and fetches them from, Git allows recording any number\nof so-called \"commits\" — atomic, from a logical standpoint, changes to\nthe project — before sharing them with the rest of the team.\n\nFor software development, this _is_ blessing; for other kinds of\ndevelopment it may be not so good — with the need to somehow resolve\npossible conflicts in series of changes made in parallel by multiple\ndevelopers to the same content being supposedly the main impediment.\nWith software development it's simple: it's still done by writing\ntextual files (even tools which generate code automatically tend to\ngenerate something textual these days), and conflicts in textual files\nare relatively easy to represent (even without resorting to specialized\ntools). Now, say, let's look at gamedev where a part of the team are\nartists which work on \"assets\" — such as 3D-models and textures.\nTwo conflicting changes in the same texture are harder to reconcile.\n\nSome (most?) centralized VCSes (as opposed to distibuted) support\nexplicit \"locking\" of certain files - which works like sort of claim\n\"I'm working on this file, don't touch it\". Git does not have locking,\nand if you think it may benefit your workflow then may be other options\nmight suite you better.\n\n"}]}