From: Pavel Roskin <proski@gnu.org>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Disable USE_SYMLINK_HEAD by default
Date: Tue, 15 Nov 2005 03:13:47 -0500 [thread overview]
Message-ID: <1132042427.3512.50.camel@dv> (raw)
In-Reply-To: <7vveyuqto5.fsf@assigned-by-dhcp.cox.net>
On Mon, 2005-11-14 at 23:03 -0800, Junio C Hamano wrote:
> Pavel Roskin <proski@gnu.org> writes:
>
> > Applying this patch before 1.0 may be controversial,...
>
> If I am not mistaken, I thought the last thread on the list
> showed general consensus that symlinks were preferred when
> available. So applying this patch anytime would be
> controversial...
I must have missed that. If you mean "Re: Getting rid of symlinks
in .git?", I don't see any such consensus there. The discussion drifts
to insignificant details, and I see arguments like "I couldn't care
less" and speculations about speed without any hard data at hand.
> > but I think there is a very good reason for that.
>
> Which is...? I do not think this paragraph justifies it:
>
> > There should be exactly one git 1.0 repository format. Now we
> > have two that are present in the sources and that have
> > received testing from the git users.
>
> The one format is that .git/HEAD can either be a symlink or
> regular file text symref; both variants are tested -- wouldn't
> that be good enough?
No. Even if git itself is tested, other tools are not. What's worse,
the developers of those tools don't even know they are supposed to test
for two HEAD formats unless they track git changes and mailing lists
very carefully.
In particular, StGIT still needs fixing.
> The only thing I can think of that might be inconvenient is if
> you try doing "cp -a" off of a filesystem that supports symlinks
> to another filesystem that does not -- probably that would fail
> copying the symlinked .git/HEAD. But if that is the problem,
> you could always git-clone, which should do the right thing, I
> think.
I'm talking from my experience now. If there is an option, there are
users that have it enabled and those who have it disabled (by
definition). As is often happens, one of the configurations is more
popular with developers. The other configuration almost inevitably
starts suffering from the "bit rot".
It could have been prevented if the format choice was encapsulated by
git prior to its introduction. But git-symbolic-ref didn't exist before
symrefs were implemented. Old code outside git accesses .git/HEAD
manually. Fixing git alone is not enough if git files are accessed
without git.
Extra complexity of any format discourages third party applications or
makes them more complex and less safe to use.
I can understand if the complexity has a balance of requirements issue
behind it. For example, coexistence of packed and unpacked files comes
from the conflicting requirements to handle files quickly and not to
consume too much hard disk space and bandwidth.
But there is no strong (compared to portability) reason to have
symlinks, except maybe backward compatibility. It's a weak argument
before 1.0 release. Let's not wait until it becomes stronger.
--
Regards,
Pavel Roskin
next prev parent reply other threads:[~2005-11-15 8:14 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-15 5:59 [PATCH] Disable USE_SYMLINK_HEAD by default Pavel Roskin
2005-11-15 7:03 ` Junio C Hamano
2005-11-15 8:13 ` Pavel Roskin [this message]
2005-11-15 8:24 ` Junio C Hamano
2005-11-15 10:24 ` Junio C Hamano
2005-11-15 11:09 ` Johannes Schindelin
2005-11-15 12:18 ` Petr Baudis
2005-11-15 14:24 ` Johannes Schindelin
2005-11-15 15:37 ` Adrien Beau
2005-11-15 16:50 ` Pavel Roskin
2005-11-15 17:05 ` Junio C Hamano
2005-11-15 17:21 ` Pavel Roskin
2005-11-15 17:32 ` Nick Hengeveld
2005-11-15 17:33 ` Linus Torvalds
2005-11-15 17:42 ` Petr Baudis
2005-11-15 18:01 ` Linus Torvalds
2005-11-15 18:13 ` Junio C Hamano
2005-11-15 17:06 ` Pavel Roskin
2005-11-15 18:21 ` Junio C Hamano
2005-11-16 1:56 ` Pavel Roskin
2005-11-16 3:13 ` Junio C Hamano
2005-11-16 1:05 ` Josef Weidendorfer
2005-11-15 10:31 ` Catalin Marinas
2005-11-15 16:27 ` Pavel Roskin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1132042427.3512.50.camel@dv \
--to=proski@gnu.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.