[PATCH 0/4] remote HEAD improvements take 2
- From
Jay Soffian <jaysoffian@gmail.com>
- Date
- Feb 13, 2009, 08:54 UTC
- Message-ID
- <1234515275-91263-1-git-send-email-jaysoffian@gmail.com>
There is currently no porcelain for dealing with remote HEADs (i.e. $GIT_DIR/remotes/<remote>/HEAD). This series:
1) Refactors locate_head() from builtin-clone.c to remote.c so it can be used by builtin-remote.c as well. I also renamed it to guess_remote_head().
Daniel suggested having it specifically check that it returns a ref from refs/heads/, but I wasn't sure what impact that might have (good or bad...), so I punted on that change.
2) Teaches git remote show to display the remote HEAD:
$ git remote show origin
* remote origin URL: git://git.kernel.org/pub/scm/git/git.git HEAD: master
3) Teaches git remote a new "set-head" verb:
To set a remote HEAD explicitly: $ git remote set-head <name> <branch>
To set a remote HEAD to match the upstream repo: $ git remote set-head <name> -a
To delete a remote HEAD: $ git remote set-head <name> -d
I changed it from "sethead" to "set-head" per Jeff.
I also remembered to update git-completion.bash this time.
4) Documents the new set-head verb. I also correct the git remote man page w/respect to the "-m <master>" option. The man page implied that the remote HEAD was set automatically when adding a remote (a la git clone), but this is not true. And, since I couldn't find anywhere else that the point of having a remote HEAD is documented, I documented it here.
Jay Soffian (4): builtin-clone: move locate_head() to remote.c so it can be re-used builtin-remote: move duplicated cleanup code its own function builtin-remote: teach show to display remote HEAD builtin-remote: add set-head verb
Documentation/git-remote.txt | 20 ++++++- builtin-clone.c | 41 +------------- builtin-remote.c | 96 +++++++++++++++++++++++++++++--- contrib/completion/git-completion.bash | 2 +- remote.c | 37 ++++++++++++ remote.h | 9 +++ 6 files changed, 156 insertions(+), 49 deletions(-)