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

Re: [PATCH v4] submodule: add 'deinit' command

From
Jens Lehmann <jens.lehmann@web.de>
Date
Mar 18, 2013, 20:54 UTC
Message-ID
<51477EFF.2010505@web.de>
In-Reply-To
<7v1ubk8u6o.fsf@alter.siamese.dyndns.org>
Am 12.03.2013 17:22, schrieb Junio C Hamano:
Show 13 quoted lines
> Phil Hord <phil.hord@gmail.com> writes:
> 
>> I think this would be clearer if 'git deinit' said
>>
>>     rm 'submodule/*'
>>
>> or maybe
>>
>>     Removed workdir for 'submodule'
>>
>> Is it just me?
> 
> The latter may probably be better.  

Hmm, it doesn't really remove the directory but only empties it (it recreates it a few lines after removing it together with its contents). So what about

    Cleared directory 'submodule'

The attached interdiff suppresses the "rm 'submodule'" message and issues the "Cleared ..." message after it successfully removed the work tree. (But please note that it also prints this message even if the submodule work tree is already empty, e.g. when you deinit a submodule the second time)

----------------8<-------------------------
diff --git a/git-submodule.sh b/git-submodule.sh
index 204bc78..d003e8a 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -601,10 +601,12 @@ cmd_deinit()

 			if test -z "$force"
 			then
-				git rm -n "$sm_path" ||
+				git rm -qn "$sm_path" ||
 				die "$(eval_gettext "Submodule work tree '\$sm_path' contains local modifications; use '-f' to discard them")"
 			fi
-			rm -rf "$sm_path" || say "$(eval_gettext "Could not remove submodule work tree '\$sm_path'")"
+			rm -rf "$sm_path" &&
+			say "$(eval_gettext "Cleared directory '\$sm_path'")" ||
+			say "$(eval_gettext "Could not remove submodule work tree '\$sm_path'")"
 		fi

 		mkdir "$sm_path" || say "$(eval_gettext "Could not create empty submodule directory '\$sm_path'")"
Previous: Junio C HamanoNext: Junio C Hamano
Message 15 of 21 in “submodule: add 'deinit' command”
  1. submodule: add 'deinit' commandJens Lehmann, Feb 6, 2013
  2. Phil HordFeb 12, 2013
  3. Junio C HamanoFeb 12, 2013
  4. Jens LehmannFeb 13, 2013
  5. Junio C HamanoFeb 13, 2013
  6. submodule: add 'deinit' commandJens Lehmann, Feb 17, 2013
  7. Junio C HamanoFeb 17, 2013
  8. Jens LehmannFeb 18, 2013
  9. submodule: add 'deinit' commandJens Lehmann, Mar 4, 2013
  10. Heiko VoigtMar 5, 2013
  11. Junio C HamanoMar 5, 2013
  12. Heiko VoigtMar 6, 2013
  13. Phil HordMar 12, 2013
  14. Junio C HamanoMar 12, 2013
  15. Jens LehmannMar 18, 2013
  16. Junio C HamanoMar 19, 2013
  17. submodule deinit: clarify work tree removal messageJens Lehmann, Apr 1, 2013
  18. Phil HordApr 16, 2013
  19. submodule deinit: don't output "Cleared directory" when directory is emptyJens Lehmann, Apr 16, 2013
  20. Junio C HamanoApr 17, 2013
  21. Jens LehmannApr 17, 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.