> @kugel- How well would it work, when:
> 
>     1. The `parsers` directory is VERY different from upstream and the diff 
> would be giant.
> 
>     2. We only use the `main` and `parsers` directory from 
> https://github.com/universal-ctags/ctags - we don't use anything else. Now of 
> course we could add all the rest as well, including the tons of unit tests, 
> docs, etc. but I'm not sure it's a good idea.
> 
> 
> Now I have no experience with git subtrees so maybe this is solvable somehow. 
> I'm just afraid we'd get huge amount of stuff we don't care about and having 
> to deal with all the diffs and merge conflicts inside `parsers` whenever 
> something changes upstream would make our life much harder.

I thought we are trending towards using upstream as-is, with only small changes 
needed (including new files).

Well, with git-subtree, syncing to upstream is done by a conventional merge. 
That means:
- Files where we don't make changes always merge fine (for dirs we don't use).
- Our changes and upstream changes are merged by git's methods
- deletions/renamings can cause tree conflicts which are messy to deal with

If you say that our copy is wildly different and continues to be so then 
git-subtree may not be perfect. Otherwise we are enabled to sync via a single 
"git subtree pull <url> <tag>" command and have git handle the merging. Plus we 
wouldn't need to maintain diffs separately but simply make commits directly to 
the code.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/2132#issuecomment-495389623

Reply via email to