{"thread":{"id":"43293","subject":"[PATCH] De-emphasise the symbolic link documentation.","startedAt":"2006-11-30T10:50:28Z","lastAt":"2006-11-30T10:50:28Z","messageCount":1,"participants":["Andy Parkins"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"294247","messageId":"200611301050.29012.andyparkins@gmail.com","threadId":"43293","inReplyTo":null,"subject":"[PATCH] De-emphasise the symbolic link documentation.","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2006-11-30T10:50:28Z","receivedAt":"2006-11-30T10:50:28Z","isPatch":true,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"The fact that git has previously used symbolic links for representing\nsymbolic refs doesn't seem relevant to the current function of\ngit-symbolic-ref.  This patch makes less of a big deal about the\nsymbolic link history and instead focuses on what git does now.\n\nSigned-off-by: Andy Parkins <andyparkins@gmail.com>\n---\nI've not been using git long enough to have ever experienced the symbolic-link\nrefs.  It seems unnecessary that the man pages talk about something that doesn't\nhappen in such strong terms.  (Was also slightly inaccurate, as it's not just\ncygwin that uses symbolic refs)\n\n Documentation/git-symbolic-ref.txt |   29 +++++++++++------------------\n 1 files changed, 11 insertions(+), 18 deletions(-)\n\ndiff --git a/Documentation/git-symbolic-ref.txt b/Documentation/git-symbolic-ref.txt\nindex 68ac6a6..4bc35a1 100644\n--- a/Documentation/git-symbolic-ref.txt\n+++ b/Documentation/git-symbolic-ref.txt\n@@ -19,29 +19,22 @@ argument to see on which branch your working tree is on.\n Give two arguments, create or update a symbolic ref <name> to\n point at the given branch <ref>.\n \n-Traditionally, `.git/HEAD` is a symlink pointing at\n-`refs/heads/master`.  When we want to switch to another branch,\n-we did `ln -sf refs/heads/newbranch .git/HEAD`, and when we want\n+A symbolic ref is a regular file that stores a string that\n+begins with `ref: refs/`.  For example, your `.git/HEAD` is\n+a regular file whose contents is `ref: refs/heads/master`.\n+\n+NOTES\n+-----\n+In the past, `.git/HEAD` was a symbolic link pointing at\n+`refs/heads/master`.  When we wanted to switch to another branch,\n+we did `ln -sf refs/heads/newbranch .git/HEAD`, and when we wanted\n to find out which branch we are on, we did `readlink .git/HEAD`.\n This was fine, and internally that is what still happens by\n default, but on platforms that do not have working symlinks,\n or that do not have the `readlink(1)` command, this was a bit\n cumbersome.  On some platforms, `ln -sf` does not even work as\n-advertised (horrors).\n-\n-A symbolic ref can be a regular file that stores a string that\n-begins with `ref: refs/`.  For example, your `.git/HEAD` *can*\n-be a regular file whose contents is `ref: refs/heads/master`.\n-This can be used on a filesystem that does not support symbolic\n-links.  Instead of doing `readlink .git/HEAD`, `git-symbolic-ref\n-HEAD` can be used to find out which branch we are on.  To point\n-the HEAD to `newbranch`, instead of `ln -sf refs/heads/newbranch\n-.git/HEAD`, `git-symbolic-ref HEAD refs/heads/newbranch` can be\n-used.\n-\n-Currently, .git/HEAD uses a regular file symbolic ref on Cygwin,\n-and everywhere else it is implemented as a symlink.  This can be\n-changed at compilation time.\n+advertised (horrors).  Therefore symbolic links are now deprecated\n+and symbolic refs are used by default.\n \n Author\n ------\n-- \n1.4.4.1\n"}]}