threads / patch / 50955

patchreset.txt: update the title line to cover all use cases

Subject: [PATCH] reset.txt: update the title line to cover all use cases

## tl;dr

2 messages between Apr 19, 2019 and Apr 21, 2019. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Nguyễn Thái Ngọc Duy· Apr 19, 2019, 09:30 UTC · lore
git-reset could be used in three different ways:
- move HEAD to somewhere, optionally (not) update worktree/index
- "move" HEAD to HEAD, mainly to update worktree/index
- just update the index from some tree-ish

The second case is frankly a (neat) corner case of the first one. But it makes it impossible for me to summarize git-reset in one line. Without it at least I could write "reset HEAD or the index".

And even "reset all the things" is not correct because reseting worktree selectively is the job of git-checkout, not git-reset. Sigh.

This patch is not meant to be taken seriously. It's to raise the issue with git-reset documentation, and maybe someone could come up with a better summary line for git-reset. Because the current line only covers the first (original) case.

PS. We also need to update git-reset to mentino about its ability to
clear branch state.
---
 Documentation/git-reset.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to Documentation/git-reset.txt +1 −1
diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
index 26e746c53f..e12d8edee6 100644
--- a/Documentation/git-reset.txt
+++ b/Documentation/git-reset.txt
@@ -3,7 +3,7 @@ git-reset(1)
 
 NAME
 ----
-git-reset - Reset current HEAD to the specified state
+git-reset - Reset "something"
 
 SYNOPSIS
 --------
-- 
2.21.0.854.ge34a79f761
Junio C Hamano· Apr 21, 2019, 04:53 UTC · re: Nguyễn Thái Ngọc Duy · lore

Re: [PATCH] reset.txt: update the title line to cover all use cases

Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
Show 12 quoted lines
> git-reset could be used in three different ways:
>
> - move HEAD to somewhere, optionally (not) update worktree/index
> - "move" HEAD to HEAD, mainly to update worktree/index
> - just update the index from some tree-ish
>
> The second case is frankly a (neat) corner case of the first one. But it
> makes it impossible for me to summarize git-reset in one line. Without
> it at least I could write "reset HEAD or the index".
>
> And even "reset all the things" is not correct because reseting worktree
> selectively is the job of git-checkout, not git-reset. Sigh.

I am not so sure if the current one is too bad. The primary action of the command is to reset the current HEAD to point at a specified commit, and everything else it does is to make things consistent (in other words, in line with having the HEAD at the given commit) with respect to different requirements. The "soft" reset wants to keep the index and the working tree intact, the "merge" reset wants to undo what a mergy operation would have done to the index and the working tree if it started from a clean state, etc. And "reset the HEAD" is quite approiprate for a single line summary of what the command does. It perfectly is fine as long as the differences brought in by having various "modes" are sufficiently described, I would think.

Show 13 quoted lines
> diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
> index 26e746c53f..e12d8edee6 100644
> --- a/Documentation/git-reset.txt
> +++ b/Documentation/git-reset.txt
> @@ -3,7 +3,7 @@ git-reset(1)
>  
>  NAME
>  ----
> -git-reset - Reset current HEAD to the specified state
> +git-reset - Reset "something"
>  
>  SYNOPSIS
>  --------

← back to recent threads