<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/refs.c, branch v0.99.8e</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v0.99.8e</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v0.99.8e'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2005-10-16T00:10:14Z</updated>
<entry>
<title>git-check-ref-format: reject funny ref names.</title>
<updated>2005-10-16T00:10:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-10-16T00:10:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=652d5dc6c0aef842eafcd9d2f73a4836d20734e2'/>
<id>urn:sha1:652d5dc6c0aef842eafcd9d2f73a4836d20734e2</id>
<content type='text'>
Update check_ref_format() function to reject ref names that:

 * has a path component that begins with a ".", or
 * has a double dots "..", or
 * has ASCII control character, "~", "^", ":" or SP, anywhere, or
 * ends with a "/".

Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure
that newly created refs are well-formed.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] Fix symbolic ref validation</title>
<updated>2005-10-05T17:50:59Z</updated>
<author>
<name>Jonas Fonseca</name>
<email>fonseca@diku.dk</email>
</author>
<published>2005-10-05T15:52:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=85912b06734286108d0ec33f0479677e2fce252d'/>
<id>urn:sha1:85912b06734286108d0ec33f0479677e2fce252d</id>
<content type='text'>
Use the correct buffer when validating 'ref: refs/...'

Signed-off-by: Jonas Fonseca &lt;fonseca@diku.dk&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Add git-symbolic-ref</title>
<updated>2005-10-02T06:19:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junio@twinsun.com</email>
</author>
<published>2005-09-30T21:26:57Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=8098a178b26dc7a158d129a092a5b78da6d12b72'/>
<id>urn:sha1:8098a178b26dc7a158d129a092a5b78da6d12b72</id>
<content type='text'>
This adds the counterpart of git-update-ref that lets you read
and create "symbolic refs".  By default it uses a symbolic link
to represent ".git/HEAD -&gt; refs/heads/master", but it can be compiled
to use the textfile symbolic ref.

The places that did 'readlink .git/HEAD' and 'ln -s refs/heads/blah
.git/HEAD' have been converted to use new git-symbolic-ref command, so
that they can deal with either implementation.

Signed-off-by: Junio C Hamano &lt;junio@twinsun.com&gt;
</content>
</entry>
<entry>
<title>Use resolve_ref() to implement read_ref().</title>
<updated>2005-10-02T06:19:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junio@twinsun.com</email>
</author>
<published>2005-09-30T21:08:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=a876ed83be5467d6075da8a16306724cb1babc2a'/>
<id>urn:sha1:a876ed83be5467d6075da8a16306724cb1babc2a</id>
<content type='text'>
Symbolic refs are understood by resolve_ref(), so existing read_ref()
users will automatically understand them as well.

Signed-off-by: Junio C Hamano &lt;junio@twinsun.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] Allow reading "symbolic refs" that point to other refs</title>
<updated>2005-10-02T06:19:32Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2005-09-25T16:59:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=ca8db1424d1808a1f78bc9905efd267f7c154d8e'/>
<id>urn:sha1:ca8db1424d1808a1f78bc9905efd267f7c154d8e</id>
<content type='text'>
This extends the ref reading to understand a "symbolic ref": a ref file
that starts with "ref: " and points to another ref file, and thus
introduces the notion of ref aliases.

This is in preparation of allowing HEAD to eventually not be a symlink,
but one of these symbolic refs instead.

[jc: Linus originally required the prefix to be "ref: " five bytes
 and nothing else, but I changed it to allow and strip any number of
 leading whitespaces to match what update-ref.c does.]

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] Make do_each_ref() follow symlinks.</title>
<updated>2005-08-17T01:33:51Z</updated>
<author>
<name>Matt Draisey</name>
<email>mattdraisey@sympatico.ca</email>
</author>
<published>2005-08-16T05:46:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=a7e66ae3f70e6e1ae08250d61ff8a968b714754d'/>
<id>urn:sha1:a7e66ae3f70e6e1ae08250d61ff8a968b714754d</id>
<content type='text'>
Because there is no reason not to, and this makes things a bit
safer when running "git prune".

[jc: I do not necessarily agree with the reasoning of the
original author that it is a good way to keep "git prune" from
stomping on objects to have a symlink that points at .git/refs
of the repository A in the .git/refs of the repository B when
repository A borrows object database from repository B.  For one
thing, the object database that everybody borrows objects from
may not even have its own .git/refs hierarchy.  Come to think of
it, maybe we should disallow symlink inside .git/refs hierarchy;
we update the files there by creat/rename pair, so having
symlinks would not work anyway when you do anything that would
update them.]

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] -Werror fixes</title>
<updated>2005-08-10T05:28:19Z</updated>
<author>
<name>Timo Sirainen</name>
<email>tss@iki.fi</email>
</author>
<published>2005-08-09T15:30:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4ec99bf080f2d95c7c3d706f65eea1c6b9302f23'/>
<id>urn:sha1:4ec99bf080f2d95c7c3d706f65eea1c6b9302f23</id>
<content type='text'>
GCC's format __attribute__ is good for checking errors, especially
with -Wformat=2 parameter. This fixes most of the reported problems
against 2005-08-09 snapshot.
</content>
</entry>
<entry>
<title>Make "for_each_ref()" always use the "canonical" refname.</title>
<updated>2005-07-08T20:56:05Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-08T20:56:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=99a0a6e09f2c9737d1155f25e8cd4c3bc512a8ea'/>
<id>urn:sha1:99a0a6e09f2c9737d1155f25e8cd4c3bc512a8ea</id>
<content type='text'>
It always uses a git-relative pathname, ie "refs/heads/master" instead of
".git/refs/heads/master" or whatever your GIT_DIR might be.

This way when we send refs back-and-forth between repositories, there's
never any question about GIT_DIR on either side.
</content>
</entry>
<entry>
<title>Fix silly thinko in "head_ref()"</title>
<updated>2005-07-05T22:45:00Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-05T22:45:00Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=2f34ba32dde0131ab280f8ca902f04e39af7dcc0'/>
<id>urn:sha1:2f34ba32dde0131ab280f8ca902f04e39af7dcc0</id>
<content type='text'>
It did a "for_each_ref()" in addition to the HEAD case, which was a
left-over from an early broken test.
</content>
</entry>
<entry>
<title>Add "git_path()" and "head_ref()" helper functions.</title>
<updated>2005-07-05T18:31:32Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-05T18:31:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=723c31fea2f1c4994de837bda9022ffa8b6de1bb'/>
<id>urn:sha1:723c31fea2f1c4994de837bda9022ffa8b6de1bb</id>
<content type='text'>
"git_path()" returns a static pathname pointer into the git directory
using a printf-like format specifier.

"head_ref()" works like "for_each_ref()", except for just the HEAD.
</content>
</entry>
</feed>
