On 14 March 2014 22:07, John Colvin <[email protected]> wrote:
> On Friday, 14 March 2014 at 11:44:21 UTC, Daniel Murphy wrote: > >> "Manu" <[email protected]> wrote in message >> news:[email protected]... >> >> 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... 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...
