I thought we are trending towards using upstream as-is, with only small changes needed (including new files).
Yes, we are, but currently it's only the `ctags/main` directory (there's the 6-line diff but I want to eliminate it as well - will do it in a separate pull request once this pull request is merged). But for `ctags/parsers` it's more like ~10000 LOC diff and for many parsers it will be a bi-directional process - we have some code that should be added upstream and some upstream code should be added to our parsers. I think in the current situation git subtree wouldn't be very practical.