Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH v2 02/23] contrib/subtree: Add command from-submodule

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:56:21

Possibly related (same subject, not in this thread)

Paul Campbell [off-list ref] writes:
quoted hunk
@@ -721,4 +722,31 @@ cmd_push()
 	fi
 }
 
+cmd_from-submodule()
+{
I know contrib/subtree does not work with anything other than bash,
and bash may accept this as a valid function name, but if you can
avoid it easily I would prefer not to see a non-POSIX construct like
this in my tree, even in contrib/ part:

  http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_230

because people often reference random parts of the tree and mimick
what existing code does.
+	ensure_clean
+
+	local submodule_sha=$(git submodule status $prefix | cut -d ' ' -f 2)
Is $prefix guaranteed not to have any $IFS whitespaces?
+	# Remove references to submodule.
+	git config --remove-section submodule.$prefix
+	git config --file .gitmodules --remove-section submodule.$prefix
+	git add .gitmodules
+
+	# Move submodule aside.
+	local tmp_repo="$(mktemp -d /tmp/git-subtree.XXXXX)"
Doesn't "git subtree" honor TMPDIR?  Not complaining, but being
curious.
+	rm -r $tmp_repo
+	mv $prefix $tmp_repo
+	git rm $prefix
Is $prefix guaranteed not to have any $IFS whitespaces?
+
+	# Commit changes.
+	git commit -m "Remove '$prefix/' submodule"
+
+	# subtree add from submodule repo.
+	cmd_add_repository $tmp_repo HEAD
+
+	# Remove submodule repo.
+	rm -rf $tmp_repo
+}
+
 "cmd_$command" "$@"
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help