<br>It's been suggested that *ix has hardlinks because someone thought up hardlinks before someone thought up symlinks - IOW, there are those who suggest that if people had added symlinks first, no one would've bothered adding hardlinks.<br>
<br>Symlinks are almost always more flexible, and almost always more clear.<br><br>The main counterexample seems to be rsync-based backup systems, that will hardlink identical files of a given pathname. But that seems to be a bit of a mess when it comes time to transfer such a backup from one filesystem to another.<br>
<br><div class="gmail_quote">On Tue, Jul 26, 2011 at 3:32 PM, Barry Warsaw <span dir="ltr"><<a href="mailto:barry@python.org">barry@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Jul 27, 2011, at 12:19 AM, Antoine Pitrou wrote:<br>
<br>
>Ok, apparently the decision to make hard links for executables dates at<br>
>least back to:<br>
<br>
</div>That still doesn't explain *why* hardlinks were originally chosen instead of<br>
symlinks. In the absence of any other compelling argument against it, I think<br>
they should all consistently be symlinks. I don't see any Ubuntu or Debian<br>
(where /usr/bin/python3 -> python3.2) bug reports indicating any problems, and<br>
I haven't experienced any issues with it personally.<br>
<div><div></div><div class="h5"><br>
>changeset: 16221:588691f806f4<br>
>branch: legacy-trunk<br>
>user: Neil Schemenauer <<a href="mailto:nascheme@enme.ucalgary.ca">nascheme@enme.ucalgary.ca</a>><br>
>date: Wed Jan 24 17:11:43 2001 +0000<br>
>files: <a href="http://Makefile.pre.in" target="_blank">Makefile.pre.in</a><br>
>description:<br>
>Flat makefile based on toplevel Makefile.in and makefiles in build<br>
>subdirectories. Those other makefiles will go away eventually.<br>
><br>
>[...]<br>
><br>
>+# Install the interpreter (by creating a hard link to python$(VERSION))<br>
>+bininstall: altbininstall<br>
>+ -if test -f $(BINDIR)/$(PYTHON); \<br>
>+ then rm -f $(BINDIR)/$(PYTHON); \<br>
>+ else true; \<br>
>+ fi<br>
>+ (cd $(BINDIR); $(LN) python$(VERSION)$(EXEEXT) python$(EXEEXT))<br>
>+<br>
<br>
</div></div><font color="#888888">-Barry<br>
</font><br>_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-dev" target="_blank">http://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="http://mail.python.org/mailman/options/python-dev/drsalists%40gmail.com" target="_blank">http://mail.python.org/mailman/options/python-dev/drsalists%40gmail.com</a><br>
<br></blockquote></div><br>