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

[PATCH v3] git-sh-setup: make require_clean_work_tree part of the interface

From
Thomas Rast <trast@student.ethz.ch>
Date
Dec 20, 2011, 21:42 UTC
Message-ID
<b121d918166dea3b578b075ac6b794967c4bdcbe.1324415678.git.trast@student.ethz.ch>
In-Reply-To
<7vd3bjj78h.fsf@alter.siamese.dyndns.org>

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 <trast@student.ethz.ch>
---
Junio C Hamano writes:
Show 9 quoted lines
> Thomas Rast <trast@student.ethz.ch> writes:
> 
> > +require_clean_work_tree <action> [<hint>]::
> > +	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 <action>:
> > +	<reason>. <hint>`, and dies.  Example:
> 
> Doesn't it also enforce cleanliness on the index, not just the working tree?
Of course.  Here's the "and index" update.
BTW neither gitglossary(7) nor git-cherry-pick(1) get this right.
 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..eb08ba6 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 <action> [<hint>]::
+	checks that the working tree and index associated with the
+	repository have no uncommitted changes to tracked files.
+	Otherwise it emits an error message of the form `Cannot
+	<action>: <reason>. <hint>`, and dies.  Example:
++
+----------------
+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.
-- 
1.7.8.484.gdad4270
Previous: Junio C HamanoNext: Junio C Hamano
Message 9 of 10 in “git-sh-setup: make require_clean_work_tree part of the interface”
  1. 1/2 git-sh-setup: make require_clean_work_tree part of the interfaceThomas Rast, Dec 20, 2011
  2. 2/2 Documentation: make git-sh-setup docs less scaryThomas Rast, Dec 20, 2011
  3. Junio C HamanoDec 20, 2011
  4. Ævar Arnfjörð BjarmasonDec 20, 2011
  5. Thomas RastDec 20, 2011
  6. Junio C HamanoDec 20, 2011
  7. git-sh-setup: make require_clean_work_tree part of the interfaceThomas Rast, Dec 20, 2011
  8. Junio C HamanoDec 20, 2011
  9. git-sh-setup: make require_clean_work_tree part of the interfaceThomas Rast, Dec 20, 2011
  10. Junio C HamanoDec 20, 2011

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.