Thread (6 messages) flat view 6 messages, 1 author, 2016-06-15
DORMANTno replies

[PATCH 0/4] remote HEAD improvements take 2

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:10

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(-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help