While reviewing the IRC discussion, I came across something that seemed to want comment.
There's some talk about how, when using a single central VCS (like Subversion) one tends to let developing code sit around unprotected until it's perfect and then commit a big bag of changes, while Git lets you commit frequently to your own repo. and then push or send a pull request when everything is tidy. On the surface this is a clear advantage for Git, but let me ramble on a bit. Something I learned from lurking on LKML for several years is the value of stepping back and organizing a big change into small units that make sense individually. (If you don't do this on LKML, the affected maintainer will very likely hand your ginormous patch back and ask you to do it over, piecewise.) This has some advantages: o Maintainers can cherry-pick your work, adopting the stuff that is acceptable early while working with you to improve the rest. o Big changes are easier to understand when they are structured and sequenced. o Makes a central VCS work more like a DVCS: you can commit the good stuff early while you work on anything that's not quite ready. o Organizing the work this way tends to make the code clearer and better, because you think about it more and from more distinct points of view. o Many others can begin to understand where you are going. Committing code to a repo. does three good things: (1) your work is protected from mishap; (2) you can easily roll back changes that didn't work out; (3) anyone with access to the repo. can start to review, use, and build on your work. I see a potential for Git to facilitate a workflow that denies us early profit from (3), because you get (1) and (2) by committing locally without sharing. I think that would be a mistake. I'd like to encourage everyone to frequently ask: "what do I have that's ready (or easily could be)", to organize work so that there is often a non-null answer to that question, and to move small units of work up the workflow early. I recently realized that I wasn't taking my own advice on the work to port the testing framework out of dspace-api, and reorganized so that I could commit a chunk that was ready while I continue working on the parts that aren't ready. What I committed obviously isn't finished, but it does what it's designed to do and it doesn't break anything. I did this in the SVN repo. but there's no reason why one couldn't do the same with Git, and I commend this style to you for consideration. -- Mark H. Wood, Lead System Programmer mw...@iupui.edu Asking whether markets are efficient is like asking whether people are smart.
pgpvjhTUV5EQ1.pgp
Description: PGP signature
------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________ Dspace-devel mailing list Dspace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-devel