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

AW: Restoring detached HEADs after Git operations

From
Patrick Lehmann <patrick.lehmann@plc2.de>
Date
Jun 19, 2017, 17:34 UTC
Message-ID
<0092CDD27C5F9D418B0F3E9B5D05BE0801028A86@SBS2011.opfingen.plc2.de>
In-Reply-To
<CAGZ79kY0gwk7KRY2iAVTXPBjPzx+mkciVWRR2z2cDgiBjQ2uuw@mail.gmail.com>
Hello,
I'm just an advanced Git user, not a Git developer. So I might find some time to improve the suggested script, which I provided with the hints given on the mailing list, but I have no time to do a complete feature release in your patch based Git flow.
I'm currently involved in 8 other open source projects. One can't improve the world alone by supplying patches to any open source project one is using...
I have no experience with other shells then Bash. So if you rely on a Bash with less features, please port the syntax to such a shell system. (I personally do not support legacy programs or out-date programs).
------
We are talking about circa 50 submodules in total with a maximum depth of 4. The platforms are:
- Mint OS with Git in Bash
- Windows 7 with Git-Bash
- Windows 10 with Git-Bash
- Windows 10 with Posh-Git
Kind regards
    Patrick
________________________________________
Von: Stefan Beller [sbeller@google.com]
Gesendet: Montag, 19. Juni 2017 18:37
Bis: Patrick Lehmann
Cc: Lars Schneider; Git Mailinglist
Betreff: Re: Restoring detached HEADs after Git operations

On Mon, Jun 19, 2017 at 2:52 AM, Patrick Lehmann <Patrick.Lehmann@plc2.de> wrote:

Show 13 quoted lines
> Hello Lars,
>
> for your questions:
>> If there are multiple branches with the same hash then your script would pick the first one. Can you imagine a situation where this would be a problem?
>
> I can't think of a good solution to resolve it automatically. Maybe a script could print that there are multiple possibilities and it choose the first branch in the list.
>
>
>> Plus, you are looking only at local branches. Wouldn't it make sense to look at remote branches, too?
>
> This is also related to restoring tags. If we go this way, we should have this priority list:
> - local branches
> - remote branches

For remote branches you would create a local branch of the same name (if such a branch would not exist, possibly setting it up to track that remote branch)?

> - tags

as said in the other email and similar to remote branches, we'd not want to have HEAD pointing to them directly but somehow have a local branch.

>> Submodule processing is already quite slow if you have many of them. I wonder how much this approach would affect the performance.
>
> Yes. It takes a few seconds to iterate all the submodules. It could be improved if the processing wouldn't be based on slow Bash scripts spawning lot's of sub-shells to execute multiple Git commands.

How many submodules are we talking about? (Are you on Windows to make shell even more fun?)

Previous: Stefan BellerNext: Stefan Beller
Message 5 of 14 in “Restoring detached HEADs after Git operations”
  1. Patrick LehmannJun 19, 2017
  2. Lars SchneiderJun 19, 2017
  3. AW: Restoring detached HEADs after Git operationsPatrick Lehmann, Jun 19, 2017
  4. Stefan BellerJun 19, 2017
  5. AW: Restoring detached HEADs after Git operationsPatrick Lehmann, Jun 19, 2017
  6. Stefan BellerJun 19, 2017
  7. AW: Restoring detached HEADs after Git operationsPatrick Lehmann, Jun 19, 2017
  8. Stefan BellerJun 19, 2017
  9. AW: Restoring detached HEADs after Git operationsPatrick Lehmann, Jun 19, 2017
  10. Junio C HamanoJun 19, 2017
  11. Stefan BellerJun 19, 2017
  12. Stefan BellerJun 19, 2017
  13. Jeff KingJun 19, 2017
  14. Ævar Arnfjörð BjarmasonJun 19, 2017

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.