3 ms·
> Aside: this is why I don't like to accept pull requests that move code around. Even if the new code organization is better, it's usually not worth the time it
by generationP 7y ago
> Aside: this is why I don't like to accept pull requests that move code around. Even if the new code organization is better, it's usually not worth the time it takes to ensure the pull request isn't doing anything extra.
This sounds like a solvable problem no one has bothered to solve. We need an analogue of diff highlighting for move-around changes, ideally one that decomposes a changeset into the coarsest block partition such that the changes boil down to a permutation of the blocks.
Something similar should be done for merge commits, which at the moment are completely undebuggable.
- robbya 7y agoFor changes that are a pure file rename 'git mv' tracks those pretty cleanly. Anything beyond that... I don't know of any good tooling either.
- saagarjha 7y agogit mv doesn't actually do anything special to track moves, so it can't figure out anything that's non-trivial.
- progval 7y agoMercurial goes a bit further by tracking copies, so if you split a file in two, a diff viewer will show there is no added code (but a lot of deletions). https://stackoverflow.com/a/4156146/539465 https://stackoverflow.com/a/4156146/539465