git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Atharva RaykarNext: Atharva Raykar
Message 5 of 7 in “[GSoC] My Git Dev Blog - Week 3”
  1. Atharva RaykarJun 6, 2021
  2. Christian CouderJun 7, 2021
  3. Bagas SanjayaJun 7, 2021
  4. Atharva RaykarJun 7, 2021
  5. Kaartic SivaraamJun 7, 2021
  6. Atharva RaykarJun 8, 2021
  7. Kaartic SivaraamJun 8, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.