From: Junio C Hamano Date: Tue, 20 Dec 2011 20:52:46 GMT Subject: Re: [PATCH v2] git-sh-setup: make require_clean_work_tree part of the interface Message-ID: <7vd3bjj78h.fsf@alter.siamese.dyndns.org> In-Reply-To: <23d761193dcf25f36206adc3d392e8578c566cd7.1324412815.git.trast@student.ethz.ch> Thomas Rast writes: > 92c62a3 (Porcelain scripts: Rewrite cryptic "needs update" error > message, 2010-10-19) refactored git's own checking to a function in > git-sh-setup. This is a very useful thing for script writers, so > document it. > > Signed-off-by: Thomas Rast > --- > Documentation/git-sh-setup.txt | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/Documentation/git-sh-setup.txt b/Documentation/git-sh-setup.txt > index a2f346c..9a0e574 100644 > --- a/Documentation/git-sh-setup.txt > +++ b/Documentation/git-sh-setup.txt > @@ -68,6 +68,16 @@ require_work_tree_exists:: > cd_to_toplevel, which is impossible to do if there is no > working tree. > > +require_clean_work_tree []:: > + checks that the working tree associated with the repository > + has no uncommitted changes to tracked files. Otherwise it > + emits an error message of the form `Cannot : > + . `, and dies. Example: Doesn't it also enforce cleanliness on the index, not just the working tree? > ++ > +---------------- > +require_clean_work_tree rebase "Please commit or stash them." > +---------------- > + > get_author_ident_from_commit:: > outputs code for use with eval to set the GIT_AUTHOR_NAME, > GIT_AUTHOR_EMAIL and GIT_AUTHOR_DATE variables for a given commit.