Yann Dirson [off-list ref] writes:
As the examples in git-subtree.txt show, the synopsis in the same file should
surely get a patch along the lines of:
-'git subtree' add -P <prefix> <commit>
+'git subtree' add -P <prefix> <repository> <commit>
Failure to specify the repository (by just specifying a local commit) fails with
the cryptic:
warning: read-tree: emptying the index with no arguments is deprecated; use --empty
fatal: just how do you expect me to merge 0 trees?
Specifying a local branch works fine, though, as does a raw commit
hash. What do you mean by "local commit?"
I have updated the documentation and will submit it tonight or tomorrow.
Any invalid refspec should be caught early and a more useful message
will be displayed.
Furthermore, the doc paragraph for add, aside from mentionning <repository>, also
mentions a <refspec> which the synopsis does not show either.
Fixed.
As a sidenote it someone wants to do some maintainance, using "." as repository when
the branch to subtree-add is already locally available does not work well either
(fails with "could not find ref myremote/myhead").
Seems to work for me. Can you give me the command you're using when you
see the problem?
Thanks for the report!
-David
On Mon, 31 Dec 2012 20:51:41 -0600
greened@obbligato.org wrote:
Yann Dirson [off-list ref] writes:
quoted
As the examples in git-subtree.txt show, the synopsis in the same file should
surely get a patch along the lines of:
-'git subtree' add -P <prefix> <commit>
+'git subtree' add -P <prefix> <repository> <commit>
Failure to specify the repository (by just specifying a local commit) fails with
the cryptic:
warning: read-tree: emptying the index with no arguments is deprecated; use --empty
fatal: just how do you expect me to merge 0 trees?
Specifying a local branch works fine, though, as does a raw commit
hash. What do you mean by "local commit?"
With no <repository> arg documented, my understanding was that I should first
"git remote add" and fetch the repo in which the branch to be added as subtree
lived. This when running "git subtree add", the commit was indeed existing
locally.
quoted
As a sidenote it someone wants to do some maintainance, using "." as repository when
the branch to subtree-add is already locally available does not work well either
(fails with "could not find ref myremote/myhead").
Seems to work for me. Can you give me the command you're using when you
see the problem?
Hm, can't remember exactly how I reached that. But when experimenting to
reproduce:
$ contrib/subtree/git-subtree.sh add -P foo . origin/maint
git fetch . origin/maint
From .
* remote-tracking branch origin/maint -> FETCH_HEAD
Added dir 'foo'
=> OK
$ contrib/subtree/git-subtree.sh add -P fooo . origin/maint^0
git fetch . origin/maint^0
fatal: Invalid refspec 'origin/maint^0'
=> a commit is advertised, but in fact it seems to require a refspec
--
Yann Dirson - Bertin Technologies