"Nika Layzell via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Nika Layzell <nika@xxxxxxxxxxxxxxx> > > Since 2f328c3d ("reset $sha1 $pathspec: require $sha1 only to be > treeish", 2013-01-14), we allowed "git reset $object -- $path" to reset > individual paths that match the pathspec to take the blob from a tree > object, not necessarily a commit, while the form to reset the tip of the > current branch to some other commit still must be given a commit. > > Like resetting with paths, "git reset --patch" does not update HEAD, and > need not require a commit. The path-filtered form, "git reset --patch > $object -- $pathspec", has accepted a tree-ish since 2f328c3d. > > "git reset --patch" is documented as accepting a <tree-ish> since > bf44142f ("reset: update documentation to require only tree-ish with > paths", 2013-01-16). Documentation changes are not required. > > Loosen the restriction that requires a commit for the unfiltered "git > reset --patch $object". > > Signed-off-by: Nika Layzell <nika@xxxxxxxxxxxxxxx> > --- Nicely explained. > diff --git a/t/t7105-reset-patch.sh b/t/t7105-reset-patch.sh > index bd10a96727..fc2a6cf5c7 100755 > --- a/t/t7105-reset-patch.sh > +++ b/t/t7105-reset-patch.sh > @@ -38,6 +38,27 @@ test_expect_success PERL 'git reset -p HEAD^' ' > test_i18ngrep "Apply" output > ' > > +test_expect_success PERL 'git reset -p HEAD^^{tree}' ' > + test_write_lines n y | git reset -p HEAD^^{tree} >output && > + verify_state dir/foo work parent && > + verify_saved_state bar && > + test_i18ngrep "Apply" output > +' > + > +test_expect_success PERL 'git reset -p HEAD^:dir/foo (blob fails)' ' > + set_and_save_state dir/foo work work && > + test_must_fail git reset -p HEAD^:dir/foo && > + verify_saved_state dir/foo && > + verify_saved_state bar > +' > + > +test_expect_success PERL 'git reset -p aaaaaaaa (unknown fails)' ' > + set_and_save_state dir/foo work work && > + test_must_fail git reset -p aaaaaaaa && > + verify_saved_state dir/foo && > + verify_saved_state bar > +' Thanks, will queue.