[Info-vax] Where to locate software
Craig A. Berry
craigberry at nospam.mac.com
Thu Jun 16 12:12:21 EDT 2016
On 6/16/16 10:09 AM, Johnny Billquist wrote:
> On 2016-06-16 15:33, Craig A. Berry wrote:
>> On 6/16/16 4:24 AM, Johnny Billquist wrote:
>>
>>> The distinction between committing and publishing on the other hand is
>>> not really anything that impress me. It's more a crutch for people who
>>> are afraid to commit.
>>
>> People should be afraid to commit. They should review and revise their
>> code, make sure it passes tests, add more tests, reread and edit their
>> commit messages, think about the order and coherence of the commits
>> (changesets) and whether they preserve bisectability, all before
>> considering the code finished and ready to publish.
>
> That is something I totally disagree with. The whole point of version
> control systems is so that you can do changes and easily go back and
> forth between versions, and if you did something wrong it is not a
> catastrophe. Your attitude really reflects the pre VC era.
What I said above was in the context of a centralized VCS making commit
and push the same operation. With a DVCS you can commit early and commit
often and use the VCS to manage multiple ongoing experiments and "go
back and forth between versions" all you want. Of course you can share
any of these at any stage with others via multiple different methods if
and when you choose to. But you aren't forced by the tool to inflict
them on everyone as soon as you create a changeset.
> What you talk about are appropriate for when you are going to do a
> release, which is a different process than development.
Modern development usually has as a goal that the code should be in a
release-worthy state at all times, and a DVCS is one of the things that
helps enable that.
> When people start treating VC systems as something to be afraid to use,
> then the world have totally failed!
I never said people should be afraid to use the VCS. I said they should
be afraid to inflict their work on others before it's ready, and when
the VCS makes commit and push the same operation, there's a high
probability that's going to happen. Except for a developer working
alone, or, as I believe I already said, on a very small team.
>> I had a professor in graduate school who joked that he'd spent
>> twenty-five years perfecting the skill of typing a clean first draft on
>> a typewriter but the advent of the word processor had ruined it all for
>> him. Resistance to local commits is pretty much the same attitude;
>> people have had to work a certain way because of the limitations of the
>> available tools, so tools without those limitations just feel wrong.
>
> What you are describing your professor doing sounds exactly the same as
> what you were describing yourself in the previous paragraph - about
> @review, revise, test, more tests, reread and edit, and all kind of
> work, before doing a commit. Just like your professor. Perfecting the
> skill of the perfect, clean draft, before committing.
No, quite the opposite.
> A horrible approach, if you ask me.
Yes, and a centralized VCS forces you to work that way, while a DVCS
frees you from that by disaggregating commit and push.
More information about the Info-vax
mailing list