Paul Campbell <pcampbell@xxxxxxxxxxx> writes: > From: Matt Hoffman <matt.hoffman@xxxxxxxxxxxxxxxxx> > > The repository and branch of a subtree added with the add command is > stored in the .gittrees file. > > Signed-off-by: Paul Campbell <pcampbell@xxxxxxxxxxx> > --- > 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() -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html