Re: [GSoC] My Git Dev Blog - Week 3
From: Kaartic Sivaraam <hidden>
Date: 2021-06-07 18:57:08
Hi Atharva, On 06/06/21 5:56 pm, Atharva Raykar wrote:
Hi, Here is my latest instalment in my weekly Git blog: http://atharvaraykar.me/gitnotes/week3
Nice post!
My not-so-well-read guess: Some users want certain submodules active in one worktree, but not the other. For that, there presumably exists a per-worktree configuration, and the current implementation just assumes a configuration that applies to the full repo. Changing this is definitely a patch for some other time.
I get to the same presumption. You could try exploring worktrees more to confirm as you point out. You could also try Cc-ing people who you think would have an idea of this. 'git blame' could you here. > A painful merge You don't mention which branches you were trying to merge but from the context I sort of figured out it was the 'submodule-add-in-c-add-config-v2' and 'submodule-add-in-c-add-clone-v3' branches in your repository: https://github.com/tfidfwastaken/git/ You mention trying 'recursive' strategy. Given this isn't a fast-forward merge, I would've expected it to be one that would've been triggered by default. Was that not the case for you? Also, which version of Git did you use to do the merge ? I tried reproducing the merge and it's indeed interesting that even '-Xpatience' didn't do the trick.
I still wonder how non-Emacs users deal with situations like these.
Git lets you invoke external merge tools which could help you resolve merge conflicts in a easy way. See mergetool doc [1] to get an idea about it. `git mergetool --tool-help` would give you a list of supported tools. In your case, I happened to notice that P4Merge[2] does a good job of properly resolving the conflict by itself. [1]: https://www.git-scm.com/docs/git-mergetool [2]: https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge Speaking of resolving conflicts, there's also rerere [3] which should save you from having to resolve the same conflict again and again. [3]: https://www.git-scm.com/book/en/v2/Git-Tools-Rerere
So I’m glad there’s the reflog.
Now that you've learned about and used reflog, I thought I'll let you know about `git fsck --lost-found` [4] in case it might come in handy someday ;-) [4]: https://git-scm.com/docs/git-fsck#Documentation/git-fsck.txt---lost-found
Have a great weekend, and stay safe!
Thanks. Hope you stay safe too! -- Sivaraam