On Fri, Mar 4, 2011 at 1:34 AM, M.L. wrote: > On Thu, Mar 3, 2011 at 2:44 PM, Peter Loron wro= te: > >> I cannot imagine doing software development (embedded or not) without >> version control. It has saved my bacon numerous times, as well as making >> it very easy to keep track of what changed where and making it safer to >> work on breaking changes, etc. >> >> Yes, you can replicate some of that using manual copies of files and zip >> archives, but why? VCS is designed to handle those tasks elegantly. An >> investment in learning the tool has paid huge dividends for me over the >> years. >> >> I heartily second the recommendation for git. Awesome tool. >> >> -Pete > > > Most of us are writing code for someone else, be they a "boss" or > customer. If someone says: "what exactly did you change?" > and you can't answer the question as a matter of fact, you might look > a little silly. I worked on a dsPIC project with 3 other developers > concurrently, and there was no way it would have worked if we weren't > using some revision control. It just happens to be a lot easier when > there is software that does the diffs and tracking for you. I use > Mercurial, I like it because it's distributed. There is no master > repository as a limitation of the revision control. > > In the example I mentioned, we used KilnHG to serve the repository to > all of the developers. It graphically shows forks, lineage, merges, > all history, etc. Being able to go back and see exactly which lines of > code changed has helped me be more productive. I can also see exactly > what OTHER people are doing to code that might affect what I'm working > on. > > I also happen to touch about 5 different projects in a month, and > usually I'm working alone on the code. I can't remember every detail > about every code base, regardless of how good my memory (or > documentation) is. Seeing old commit messages and diffs in Tortoise-HG > refreshes my memory. It took about 2 hours to learn how to use > Mercurial and it has saved me many times that. Actually, for newbies to get started you don't even need to know all the mercurial commands A quick n' dirty way to get started would be as simple as 5 commands - Creating a repository hg init: create a new repo hg addremove: addremove files in one go - Working on the repository hg clone: if you want to clone another repository hg commit: commit your changes hg log: view the commit logs I don't think a VCS usage can be any simpler to get started. and you are started. I have used CVS, Mercurial and Git. Git is more powerful and feature rich, but can be a bit overwhelming for a newbie who has never used a VCS before. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .