On Friday, 14 March 2014 at 12:23:01 UTC, Manu wrote:
On 14 March 2014 22:07, John Colvin <john.loughran.col...@gmail.com> wrote:

On Friday, 14 March 2014 at 11:44:21 UTC, Daniel Murphy wrote:

"Manu" <turkey...@gmail.com> wrote in message
news:mailman.105.1394774104.23258.digitalmar...@puremagic.com...

So it comes up fairly regularly that people suggest that the compiler
should have a mode where it
may update user code automatically to assist migration to new compiler
versions.

I'm personally against the idea, and Walter certainly doesn't like it,
but it occurred to me that a
slight variation on this idea might be awesome.

Imagine instead, an '-update' option which instead of modifying your
code, would output a .patch
file containing suggested amendments wherever it encountered deprecated
code...
The user can then take this patch file, inspect it visually using their
favourite merge tool, and pick
and choose the bits that they agree or disagree with.

I would say this approach takes a dubious feature and turns it into a
spectacular feature!


If you're using version control, these are practically the same thing.


Yeah, I don't understand why it matters whether it's a change or a patch. Either way, all changes become patches in VCS. Who would let an automated tool make source changes without using VC, or at least having made a manual
backup?


Because Walter is acutely allergic to the idea of a tool that modifies your source code. I might also have uncommitted changes, and not particularly feel like stashing them for the moment (less easy in other VCS's). I might also not want to apply all the changes, only some of them. Surely it's easier to merge the ones I want after visual approval, than reverting the ones I don't want after having gone to the effort of stashing my local
changes to make a clean slate to work with...


I appreciate it would be convenient, but changing compiler versions and patching up the code is a major enough update to justify a branch IMO, let alone just a commit or stash.

Anyway, I don't think it matters that much either way.

Admittedly my experience is limited to git and mercurial, both of which deal with these sorts of situations trivially.

Also, making a direct change allows the user to use whatever diff software
/ version control software they like.


I'm not sure how a patch file restricts them to a particular merge program
or VCS...

I suppose not. I was assuming that there might be different standards for patch files.

Reply via email to