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

Re: [PATCH v2 03/23] contrib/subtree: Teach add to store repository & branch in .gittrees

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
From: Matt Hoffman <redacted>

The repository and branch of a subtree added with the add command is
stored in the .gittrees file.

Signed-off-by: Paul Campbell <redacted>
---
 contrib/subtree/git-subtree.sh | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index caf4988..7b70251 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -528,6 +528,14 @@ cmd_add_repository()
 	revs=FETCH_HEAD
 	set -- $revs
 	cmd_add_commit "$@"
+  
+  # now add it to our list of repos 
+  git config -f .gittrees --unset subtree.$dir.url
+  git config -f .gittrees --add subtree.$dir.url $repository
+  git config -f .gittrees --unset subtree.$dir.path
+  git config -f .gittrees --add subtree.$dir.path $dir
+  git config -f .gittrees --unset subtree.$dir.branch
+  git config -f .gittrees --add subtree.$dir.branch $refspec
Existing code in the function this touches seem to be written
carefully to allow $IFS whitespace in $dir, but this change butchers
it, it seems.

Also, where does $refspec come from?  When this is called from
cmd_add_repository(), there is an assignment to the variable, but it
is not all clear.  As git-subtree declares it won't work with
anything but bash, I think things like this should take advantage of
being written for bash by using "local" and passing arguments
explicitly instead of relying on global variables, which POSIX shell
scripts cannot afford to do but bash scripts can.
 }
 
 cmd_add_commit()
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help