<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/refs.c, branch v1.7.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.7.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.7.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2010-07-07T18:18:26Z</updated>
<entry>
<title>Merge branch 'maint'</title>
<updated>2010-07-07T18:18:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-07-07T18:18:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fcd91f8de20bf7969599a7a60cba73117d99f2d1'/>
<id>urn:sha1:fcd91f8de20bf7969599a7a60cba73117d99f2d1</id>
<content type='text'>
* maint:
  backmerge a few more fixes to 1.7.1.X series
  rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
  fix git branch -m in presence of cross devices

Conflicts:
	RelNotes
	builtin/rev-parse.c
</content>
</entry>
<entry>
<title>fix git branch -m in presence of cross devices</title>
<updated>2010-07-07T16:17:00Z</updated>
<author>
<name>Pierre Habouzit</name>
<email>madcoder@debian.org</email>
</author>
<published>2010-07-07T07:47:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=765c22588d9e410bf0100c4991b1945134da6959'/>
<id>urn:sha1:765c22588d9e410bf0100c4991b1945134da6959</id>
<content type='text'>
When you have for example a bare repository stored on NFS, and that you
create new workdirs locally (using contrib's git-new-workdir), logs/refs
is a symlink to a different device. Hence when the reflogs are renamed,
all must happen below logs/refs or one gets cross device rename errors
like:

  git branch -m foo
  error: unable to move logfile logs/refs/heads/master to tmp-renamed-log: Invalid cross-device link
  fatal: Branch rename failed

The fix is hence to use logs/refs/.tmp-renamed-log as a temporary log
name, instead of just tmp-renamed-log.

Signed-off-by: Pierre Habouzit &lt;madcoder@debian.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'gv/portable'</title>
<updated>2010-06-21T13:02:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-06-21T13:02:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8d676d85f772ce3a100b6f0dddd1c34a7e4313cf'/>
<id>urn:sha1:8d676d85f772ce3a100b6f0dddd1c34a7e4313cf</id>
<content type='text'>
* gv/portable:
  test-lib: use DIFF definition from GIT-BUILD-OPTIONS
  build: propagate $DIFF to scripts
  Makefile: Tru64 portability fix
  Makefile: HP-UX 10.20 portability fixes
  Makefile: HPUX11 portability fixes
  Makefile: SunOS 5.6 portability fix
  inline declaration does not work on AIX
  Allow disabling "inline"
  Some platforms lack socklen_t type
  Make NO_{INET_NTOP,INET_PTON} configured independently
  Makefile: some platforms do not have hstrerror anywhere
  git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
  test_cmp: do not use "diff -u" on platforms that lack one
  fixup: do not unconditionally disable "diff -u"
  tests: use "test_cmp", not "diff", when verifying the result
  Do not use "diff" found on PATH while building and installing
  enums: omit trailing comma for portability
  Makefile: -lpthread may still be necessary when libc has only pthread stubs
  Rewrite dynamic structure initializations to runtime assignment
  Makefile: pass CPPFLAGS through to fllow customization

Conflicts:
	Makefile
	wt-status.h
</content>
</entry>
<entry>
<title>log_ref_setup: don't return stack-allocated array</title>
<updated>2010-06-12T16:34:17Z</updated>
<author>
<name>Thomas Rast</name>
<email>trast@student.ethz.ch</email>
</author>
<published>2010-06-10T12:54:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=157aaea5fff7dbf2fc39829d827b35df647562a4'/>
<id>urn:sha1:157aaea5fff7dbf2fc39829d827b35df647562a4</id>
<content type='text'>
859c301 (refs: split log_ref_write logic into log_ref_setup,
2010-05-21) refactors the stack allocation of the log_file array into
the new log_ref_setup() function, but passes it back to the caller.

Since the original intent seems to have been to split the work between
log_ref_setup and log_ref_write, make it the caller's responsibility
to allocate the buffer.

Signed-off-by: Thomas Rast &lt;trast@student.ethz.ch&gt;
Reported-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: split log_ref_write logic into log_ref_setup</title>
<updated>2010-06-02T18:17:46Z</updated>
<author>
<name>Erick Mattos</name>
<email>erick.mattos@gmail.com</email>
</author>
<published>2010-05-22T00:28:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=859c30175f7d8f64f61968cb3ece7aca9218b314'/>
<id>urn:sha1:859c30175f7d8f64f61968cb3ece7aca9218b314</id>
<content type='text'>
Separation of the logic for testing and preparing the reflogs from
function log_ref_write to a new non static new function: log_ref_setup.

This allows to be performed from outside the first all reasonable checks
and procedures for writing reflogs.

Signed-off-by: Erick Mattos &lt;erick.mattos@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Rewrite dynamic structure initializations to runtime assignment</title>
<updated>2010-05-31T23:59:26Z</updated>
<author>
<name>Gary V. Vaughan</name>
<email>git@mlists.thewrittenword.com</email>
</author>
<published>2010-05-14T09:31:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=66dbfd55e38128db02eb340fcd89f54b734d4c6e'/>
<id>urn:sha1:66dbfd55e38128db02eb340fcd89f54b734d4c6e</id>
<content type='text'>
Unfortunately, there are still plenty of production systems with
vendor compilers that choke unless all compound declarations can be
determined statically at compile time, for example hpux10.20 (I can
provide a comprehensive list of our supported platforms that exhibit
this problem if necessary).

This patch simply breaks apart any compound declarations with dynamic
initialisation expressions, and moves the initialisation until after
the last declaration in the same block, in all the places necessary to
have the offending compilers accept the code.

Signed-off-by: Gary V. Vaughan &lt;gary@thewrittenword.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs.c: Write reflogs for notes just like for branch heads</title>
<updated>2010-03-30T04:18:07Z</updated>
<author>
<name>Michael J Gruber</name>
<email>git@drmicha.warpmail.net</email>
</author>
<published>2010-03-29T13:05:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b2e256b0f0980dac6f0761d5bff0b43170022799'/>
<id>urn:sha1:b2e256b0f0980dac6f0761d5bff0b43170022799</id>
<content type='text'>
The notes code intends to write reflog entries, but currently they are
not written because log_ref_write() checks for the refname path
explicitly.

Add refs/notes to the list of allowed paths so that notes references are
treated just like branch heads, i.e. according to core.logAllRefUpdates
and core.bare.

Signed-off-by: Michael J Gruber &lt;git@drmicha.warpmail.net&gt;
Acked-by: Johan Herland &lt;johan@herland.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tr/notes-display'</title>
<updated>2010-03-24T23:26:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-03-24T23:26:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a86ed83cce0fc0b9a9fe4e17ac1bf4f719028d20'/>
<id>urn:sha1:a86ed83cce0fc0b9a9fe4e17ac1bf4f719028d20</id>
<content type='text'>
* tr/notes-display:
  git-notes(1): add a section about the meaning of history
  notes: track whether notes_trees were changed at all
  notes: add shorthand --ref to override GIT_NOTES_REF
  commit --amend: copy notes to the new commit
  rebase: support automatic notes copying
  notes: implement helpers needed for note copying during rewrite
  notes: implement 'git notes copy --stdin'
  rebase -i: invoke post-rewrite hook
  rebase: invoke post-rewrite hook
  commit --amend: invoke post-rewrite hook
  Documentation: document post-rewrite hook
  Support showing notes from more than one notes tree
  test-lib: unset GIT_NOTES_REF to stop it from influencing tests

Conflicts:
	git-am.sh
	refs.c
</content>
</entry>
<entry>
<title>Merge branch 'jc/maint-refs-dangling'</title>
<updated>2010-03-24T23:25:34Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-03-24T23:25:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=954f7cfdac48b8d9fe91c29ecfa44ac0c639867c'/>
<id>urn:sha1:954f7cfdac48b8d9fe91c29ecfa44ac0c639867c</id>
<content type='text'>
* jc/maint-refs-dangling:
  refs: ref entry with NULL sha1 is can be a dangling symref
</content>
</entry>
<entry>
<title>refs: ref entry with NULL sha1 is can be a dangling symref</title>
<updated>2010-03-16T06:37:42Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-03-16T05:12:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e01de1c9122c3cba118da19fe0ba0ce913fa7285'/>
<id>urn:sha1:e01de1c9122c3cba118da19fe0ba0ce913fa7285</id>
<content type='text'>
Brandon Casey noticed that t5505 had accidentally broken its &amp;&amp; chain,
hiding inconsistency between the code that writes the warning to the
standard output and the test that expects to see the warning on the
standard error, which was introduced by f8948e2 (remote prune: warn
dangling symrefs, 2009-02-08).

It turns out that the issue is deeper than that.  After f8948e2, a symref
that is dangling is marked with a NULL sha1, and the idea of using NULL
sha1 to mean a deleted ref was scrapped, but somehow a follow-up eafb452
(do_one_ref(): null_sha1 check is not about broken ref, 2009-07-22)
incorrectly reorganized do_one_ref(), still thinking NULL sha1 is never
used in the code.

Fix this by:

 - adopt Brandon's fix to t5505 test;

 - introduce REF_BROKEN flag to mark a ref that fails to resolve (dangling
   symref);

 - move the check for broken ref back inside the "if we are skipping
   dangling refs" code block.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
