Re: [GSoC] My Git Dev Blog - Week 3
- From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
- Date
- Jun 7, 2021, 18:55 UTC
- Message-ID
- <4a4a3d6f-7d06-ccdb-7d5a-4057c7549927@gmail.com>
- In-Reply-To
- <FC56DF49-CEC5-4C9F-BDE4-B0119558E4B2@gmail.com>
Hi Atharva,
On 06/06/21 5:56 pm, Atharva Raykar wrote:
Show 5 quoted lines
> Hi, > > Here is my latest instalment in my weekly Git blog: > http://atharvaraykar.me/gitnotes/week3 >
Nice post!
Show 5 quoted lines
> 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