git-update-ref man page on OpenBSD

Man page or keyword search:  
man Server   11362 pages
apropos Keyword Search (all sections)
Output format
OpenBSD logo
[printable version]



GIT-UPDATE-REF(1)				GIT-UPDATE-REF(1)

NAME
       git-update-ref - Update the object name stored in a ref safely

SYNOPSIS
       git  update-ref	[-m  <reason>]	(-d  <ref> [<oldvalue>] | [--no-deref]
       <ref> <newvalue> [<oldvalue>])

DESCRIPTION
       Given two arguments, stores  the	 <newvalue>  in	 the  <ref>,  possibly
       dereferencing  the  symbolic  refs. E.g. git update-ref HEAD <newvalue>
       updates the current branch head to the new object.

       Given three arguments, stores the <newvalue>  in	 the  <ref>,  possibly
       dereferencing the symbolic refs, after verifying that the current value
       of the <ref> matches <oldvalue>. E.g. git update-ref  refs/heads/master
       <newvalue> <oldvalue> updates the master branch head to <newvalue> only
       if its current value is <oldvalue>. You can specify 40 "0" or an	 empty
       string  as  <oldvalue>  to make sure that the ref you are creating does
       not exist.

       It also allows a "ref" file to be a symbolic  pointer  to  another  ref
       file by starting with the four-byte header sequence of "ref:".

       More  importantly,  it  allows the update of a ref file to follow these
       symbolic pointers, whether they are symlinks  or	 these	"regular  file
       symbolic	 refs".	 It  follows  real  symlinks  only  if they start with
       "refs/": otherwise it will just try to read them and update them	 as  a
       regular	file  (i.e.  it	 will allow the filesystem to follow them, but
       will overwrite such a symlink to somewhere else with  a	regular	 file-
       name).

       If  --no-deref  is  given, <ref> itself is overwritten, rather than the
       result of following the symbolic pointers.

       In general, using

       git update-ref HEAD "$head"

       should be a lot safer than doing

       echo "$head" > "$GIT_DIR/HEAD"

       both from a symlink following standpoint and an error  checking	stand-
       point.  The "refs/" rule for symlinks means that symlinks that point to
       "outside" the tree are safe: they’ll be followed for reading  but
       not  for	 writing  (so we’ll never write through a ref symlink to

								1

GIT-UPDATE-REF(1)				GIT-UPDATE-REF(1)

       some other tree, if you have copied a whole archive by creating a  sym-
       link tree).

       With  -d flag, it deletes the named <ref> after verifying it still con-
       tains <oldvalue>.

LOGGING UPDATES
       If  config  parameter  "core.logAllRefUpdates"  is  true	 or  the  file
       "$GIT_DIR/logs/<ref>"  exists then git update-ref will append a line to
       the log file "$GIT_DIR/logs/<ref>"  (dereferencing  all	symbolic  refs
       before  creating	 the log name) describing the change in ref value. Log
       lines are formatted as:

       1. oldsha1 SP newsha1 SP committer LF

	  Where "oldsha1" is the 40  character	hexadecimal  value  previously
	  stored  in <ref>, "newsha1" is the 40 character hexadecimal value of
	  <newvalue> and "committer"  is  the  committer’s  name,	 email
	  address and date in the standard GIT committer ident format.

       Optionally with -m:

       1. oldsha1 SP newsha1 SP committer TAB message LF

	  Where	 all  fields are as described above and "message" is the value
	  supplied to the -m option.

       An update will fail (without changing <ref>) if	the  current  user  is
       unable  to  create  a  new log file, append to the existing log file or
       does not have committer information available.

AUTHOR
       Written	 by    Linus	Torvalds    <torvalds@osdl.org:	   mailto:tor-
       valds@osdl.org>.

GIT
       Part of the git(1) suite

								2

[top]

List of man pages available for OpenBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net