Re: [RFC/PATCH] Use work tree to determine if it supports symlinks

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [RFC/PATCH] Use work tree to determine if it supports symlinks

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:21

Sascha Cunz [off-list ref] writes:
From 3f449e719b924929f1f8ca9b5eff83f17bc64c60 Mon Sep 17 00:00:00 2001
From: Sascha Cunz <redacted>
Date: Fri, 27 Jul 2012 22:54:56 +0200
Subject: [PATCH] Use work tree to determine if it supports symlinks

When creating a new repository, we check some capabilities of the
underlying file system(s). We check the file system for its case
sensitivity and the ability to create symbolic links.

Before this patch the .git-dir was used for this check, while the
comments in code clearly state to test on the work tree.
That is simply because a layout that has .git and its containing
directory (i.e. the working tree) on a separate filesystem when we
run "git init" is not supported, and more importantly, we do not
want to step outside ".git", which is the simplest and safest way to
avoid touching the end-user data that sits in the working tree.

The code comment is about checking the filesystem that houses both
the working tree and ".git"; if the user later wants to turn .git
into a separate mount point, or if the user wants to use GIT_DIR and
GIT_WORK_TREE to create a funny layout, the user should know how to
muck with ".git/config" to adjust to the peculiarity.

Re: [RFC/PATCH] Use work tree to determine if it supports symlinks

From: Sascha Cunz <hidden>
Date: 2016-06-15 22:54:21

On Friday, July 27, 2012 02:55:49 PM you wrote:
Sascha Cunz [off-list ref] writes:
quoted
From 3f449e719b924929f1f8ca9b5eff83f17bc64c60 Mon Sep 17 00:00:00 2001
From: Sascha Cunz <redacted>
Date: Fri, 27 Jul 2012 22:54:56 +0200
Subject: [PATCH] Use work tree to determine if it supports symlinks

When creating a new repository, we check some capabilities of the
underlying file system(s). We check the file system for its case
sensitivity and the ability to create symbolic links.

Before this patch the .git-dir was used for this check, while the
comments in code clearly state to test on the work tree.
That is simply because a layout that has .git and its containing
directory (i.e. the working tree) on a separate filesystem when we
run "git init" is not supported,
But isn't enforced either. Are there known issues?
and more importantly, we do not
want to step outside ".git", which is the simplest and safest way to
avoid touching the end-user data that sits in the working tree.
While I think that this is true, I don't see the connection.
The code comment is about checking the filesystem that houses both
the working tree and ".git"; if the user later wants to turn .git
into a separate mount point, or if the user wants to use GIT_DIR and
GIT_WORK_TREE to create a funny layout, the user should know how to
muck with ".git/config" to adjust to the peculiarity.
Ok, so repository and working directory are simply not meant to be on 
different file systems. Thanks for the clarification.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help