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

Re: [PATCH v3 0/7] rebase.autostash completed

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
May 13, 2013, 07:59 UTC
Message-ID
<CALkWK0mWRC9_QVYAu9Q4iAoVTpfkf9xkc9apjrdv6SyEiCq+hA@mail.gmail.com>
In-Reply-To
<7vy5bjqxxa.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
> Especially I did not check if there are
> still undesirable data loss behaviour in corner cases that people
> were worried about in the discussion.
Check the tests.  What am I missing?
Show 5 quoted lines
>    In the longer term, it is unmaintainable to make such users (like
>    this new code) of the stash mechanism manually do so, and we may
>    want to add a "git stash __store" subcommand, not meant for the
>    interactive use of end users.  The implementation of the stash
>    can later be changed without affecting such users by doing so.

Yes, a "store" that stores a commit created with "create" would be nice. Why the horrible double-underscore though? "git stash create" is not meant for interactive use of end users either.

>    Perhaps "rebase" can be taught to be more careful when checking
>    if local changes may overlap with the changes being replayed.

Frankly, I don't know if it's worth the effort. It might be a nice theoretical exercise, but what tangible benefit do I get as the end user (now that I have rebase.autostash)? In fact, I'll probably be slowing down the interactive rebase noticeably by executing a diff-tree at every step. And for what?

Show 6 quoted lines
> Those who still want to use stash would benefit from having an
> autostash, but at that point, there is no reason to single out
> "rebase" for the autostash feature.  Those who want to stash
> immediately before a "merge" that is known to conflict can use the
> same autostash and may want to do so for exactly the same reason
> they may want to use it for "rebase".

Each command that wants to have autostash will have to implement it independently. You argued that an implicit merge.autostash may be harmful earlier: maybe an explicit --autostash; but at this point, the returns are diminishing: what is the great advantage of --autostash over a quick manual g ss, g sp (git stash save, git stash pop)? I don't know what problem you're trying to solve anymore.

Previous: Junio C HamanoNext: Matthieu Moy
Message 17 of 22 in “rebase.autostash completed”
  1. 0/7 rebase.autostash completedRamkumar Ramachandra, May 12, 2013
  2. 1/7 am: tighten a conditional that checks for $dotestRamkumar Ramachandra, May 12, 2013
  3. 2/7 rebase -i: don't error out if $state_dir already existsRamkumar Ramachandra, May 12, 2013
  4. 3/7 rebase: prepare to do generic housekeepingRamkumar Ramachandra, May 12, 2013
  5. 4/7 am: return control to caller, for housekeepingRamkumar Ramachandra, May 12, 2013
  6. 5/7 rebase -i: return control to caller, for housekeepingRamkumar Ramachandra, May 12, 2013
  7. 6/7 rebase --merge: return control to caller, for housekeepingRamkumar Ramachandra, May 12, 2013
  8. 7/7 rebase: implement --[no-]autostash and rebase.autostashRamkumar Ramachandra, May 12, 2013
  9. Junio C HamanoMay 13, 2013
  10. Ramkumar RamachandraMay 13, 2013
  11. Junio C HamanoMay 13, 2013
  12. Ramkumar RamachandraMay 13, 2013
  13. Matthieu MoyMay 13, 2013
  14. Ramkumar RamachandraMay 13, 2013
  15. Matthieu MoyMay 13, 2013
  16. Junio C HamanoMay 13, 2013
  17. Ramkumar RamachandraMay 13, 2013
  18. Matthieu MoyMay 13, 2013
  19. Junio C HamanoMay 13, 2013
  20. Junio C HamanoMay 13, 2013
  21. Ramkumar RamachandraMay 13, 2013
  22. Junio C HamanoMay 13, 2013

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.