Comment by phist_mcgee
2 days ago
I've done something similar for a refactor.
It simply forgets code exists during a port. It will port part of a function and ignore the rest, it will scan a whole file into context and then forget that a different codepath exists.
I would never rely on it for a 1:1 mapping of large features/code transformations. Small stuff sure, but beyond say a few large files it will miss things and you will be scratching your head for why it's not working.
Sometimes, it also tells you it is done, but if you look at the code, there's a bunch of placeholder comments in the style of "will implement this later if we figure out how to do it".
Indeed, all of the above. It's impossible to just say "Here is the original file, here is the new file, port everything over" and think that'll be enough. Maybe making a plan for each file and specifically tell it to port each specific function over would work, but at that point you're really just making a literal translation from one language to the other.