11-13-2013 11:03 AM
Mark.Randol wrote:
As an Engineer/programmer, not an engineer/Programmer some really basic questions that come to my mind.
Respects to Fabiola, but as a non-SCC , individual
, occasional 'programmer', and maybe not the target audience of the Austin UG, what's a Repository, and why should I care?
It seems obvious to me that 'hello world' doesn't qualify as benefiting from SCC (unless you're gonna thoroughly geek out on it with bells and whistles). When does this become useful? (follow up to above)
What security is available? Mostly I've seen repositories for FOSS development. I'm assuming it's available, but I don't see it mentioned. Is it by user permissions? Encryption? Shredded and burned every night?
Regards,
Mark
A repository is the physical storage location for a given source code control provider. I belive the post should have been labeled 1) Name of your favorite SCC provider instead of repository. Anybody who writes code at all anytime ever should care about source code control. We can certainly talk about this in detail at next week's meeting but I'll try to briefly highlight points here. Source code control allows you to easily revert back to previous version of code. This allows you the freedom to embark on more radical changes to the codes without fear of not being able to get back to where you were. As a single developer that uses their own code, there is less benefits but they are still there. If nothing else, use Tortoise SVN. It is extremely simple and can be easily setup in less than 30 minutes.
Regarding your comment on 'hello world'... What happens when you manager requests that you use proper case? Now you need to change the code to "Hello world". You have a change, now 2 years down the road you find a client that was case sensitive and they managed to miss the update, all of the sudden it breaks at you can't remember what version you are using, what changed, when it changed, etc.
The security varies greatly among the different SCC providers. Please keep in mind that a repository can reside on the local disk (though I DO NOT recommend that option), this allows you to maintain the exact same security of any file that resides on disk.
While I've never attempted this, I'm pretty sure I can download and install Tortoise SVN and have a new repository up and running on my laptop in under 5 minutes, would it be helpful for me to take on that challenge at the upcoming UGM?
11-13-2013 09:34 PM
And we will miss you Fabiola.
11-14-2013 10:24 AM
Let's see if I understand 'repository' now. The intended meaning is storage + SCC, but it's not necessarily always that. Sometimes it's only a network storage location.
Continuing with the 'hello world' example, if the case is precisely that trival, as in EXACTLY the classic example, if your contention is such a trivial change (case change) is sufficiently enhanced by an automated SCC system to make it worthwhile, then I'd like to see that because I find it difficult to believe.
In the trivial case proposed, in any of your scenarios it seems even rewriting code is simplier / more straight forward than SCC. What seems to me a better solution is, the nemesis of all technical professionals, documentation.
Now I can easily see in more complex projects, SCC would become essential to help manage the project. We have such projects in the office already, and they are under SCC, but none in LabView. At some likely fuzzy point, SCC isn't essential but becomes a Good Idea. That's what I'm looking to get a feeling for.
I'm sure the way most people find 'that point' is they go past it, feel the pain, then implement SCC. If it's not already obvious, I don't like pain.
11-14-2013 10:46 AM
Rule of thumb I use is that if you don't care at all about using the program in the future, don't worry about SCC. I wouldn't use it for your hello world example, but hello world is not something I would ever care about using in the future. However; if you have any reasonable chance of using the code in the future, particularly if it may grow to more than a very trivial single file or two, then it's probably worth the small investment of time to put it under SCC. You don't always know ahead of time how quickly your code will grow. Getting started with SCC is the hardest part, and that isn't really very hard. Once you've used SCC, it's very quick to put files under SCC. The thing I've found particularly useful is diff tools, file reversion, and it's very easy to see which files have been touched since you last committed changes.
Of course if you've made up your mind not to use it, it's probably easy to justify to yourself and no argument on this board will matter much. Comments from Charles above were good. I'd recommend setting something up that's very basic (like your hello world example) to convince yourself how SCC works, and then decide for yourself if it's worth the small effort to protect your code.
Good luck,
Scott Larsen, PE, CLAD
11-14-2013 02:43 PM
Hey all, I'll be in on this panel.
As a brief intro, I've used four SCC providers (one or more online SCC service providers and SCC clients per provider) with a few dozen projects from team sizes between 1 to about a dozen. I enjoying dorking out on growing your business by improving operations and software engineering practices.
We can talk about providers, client options available (CLI and GUI), repo topologies, historical and future trends of SCC providers, SCC as it relates to feature branching and merging (*branch merging, not file merging), team dynamics and how to resolve binary file merging, build environments, onboarding new dev members (and onboarding your "future self" to old projects), repo structure strategy, repositories for deployed distributables, security, SCC with virtual dev environments (local copy on host or guest machine?), subrepositories, cross-platform development, project dependencies (e.g., do I check in the Run Time Engine and Drivers? Spolier: you betcha), repo bloat -- but most importantly, questions like "what's the absolute bare minimum I need to know about SCC to deliver the absolute most value?" (<< I like to call this strategic laziness)
Looking forward to seeing you this upcoming Thurs!
11-14-2013 02:57 PM
@Scott - Trying it with something trivial is exactly the way I'd try it. It's just the feel of it being a 'nuclear fly swatter' keeping me from it. I'm looking forward to seeing demos. I'm not against the idea, but there are plenty of great ideas which aren't worth the implementation cost. Where this one is, I don't know. I'm asking. I just know enough that ~"All the time for Everything" isn't a good answer.
@Charles - I think I said before and I'll say again. A demo would be excellent.
@Jack - Ditto. My theory is that all engineers should be well acquainted with the concept of 'Strategic Lazines'.
Looking forward to it. Being surprised (aka wrong) can be one of the fun parts of the job.
11-19-2013 11:33 AM
Hi
Looks like we will be having our panel discussion on SCC / Code Repository. There is also still room for another panel member. Please reply to the thread or send an email to myself or Drew with your interests.
Mark
11-19-2013 04:16 PM
Hey all, Sixclear's own Jassem Shahrani will be on the panel too. Looking forward to seeing you all on Thursday!