# [PATCH] Fix use of hardlinks in "make install"

8 messages from 2008-08-28 to 2008-08-30. Participants: Alex Riesen, Andreas Färber.
Thread: https://gitlist.dev/t/15247

## Alex Riesen, 2008-08-28 14:04

Subject: [PATCH] Fix use of hardlinks in "make install"
Message-ID: <81b0412b0808280704h585b6cb4nf03e509de0159a91@mail.gmail.com>
URL: https://gitlist.dev/e/81b0412b0808280704h585b6cb4nf03e509de0159a91%40mail.gmail.com

```
The code tried to create a hardlink to the file ($execdir/git-add) it just
removed, so ln failed (but because stderr was redirected into /dev/null the
error was never seen), and the whole install ended up using "ln -s" instead.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---

It created endless symlink loops on cygwin, but obviously nowhere else.

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


From 943e0824b9fd1a8c2798ae9fd341b6a9b7429cc1 Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Thu, 28 Aug 2008 15:57:32 +0200
Subject: [PATCH] Fix use of hardlinks in "make install"

The code tried to create a hardlink to the file ($execdir/git-add) it just
removed, so ln failed (but because stderr was redirected into /dev/null the
error was never seen), and the whole install ended up using "ln -s" instead.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index bf400e6..20a1704 100644
--- a/Makefile
+++ b/Makefile
@@ -1380,7 +1380,7 @@ endif
 		ln git-add$X "$$execdir/git-add$X" 2>/dev/null || \
 		cp git-add$X "$$execdir/git-add$X"; } && \
 	{ $(foreach p,$(filter-out git-add,$(BUILT_INS)), $(RM) "$$execdir/$p" && \
-		ln "$$execdir/git-add$X" "$$execdir/$p" 2>/dev/null || \
+		ln "git-add$X" "$$execdir/$p" || \
 		ln -s "git-add$X" "$$execdir/$p" 2>/dev/null || \
 		cp "$$execdir/git-add$X" "$$execdir/$p" || exit;) } && \
 	./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X"
-- 
1.6.0.1.150.g8307.dirty


```

## Alex Riesen, 2008-08-28 14:17

Subject: Re: [PATCH] Fix use of hardlinks in "make install"
Message-ID: <81b0412b0808280717u78c5ccf8ne1413c701ed8edd9@mail.gmail.com>
URL: https://gitlist.dev/e/81b0412b0808280717u78c5ccf8ne1413c701ed8edd9%40mail.gmail.com
In-Reply-To: <81b0412b0808280704h585b6cb4nf03e509de0159a91@mail.gmail.com>

```
2008/8/28 Alex Riesen <raa.lkml@gmail.com>:
> The code tried to create a hardlink to the file ($execdir/git-add) it just
> removed, so ln failed (but because stderr was redirected into /dev/null the
> error was never seen), and the whole install ended up using "ln -s" instead.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ---
>
> It created endless symlink loops on cygwin, but obviously nowhere else.
>

Sh@#! Scrap that, there is something else going on in that cygwindows thing...

```

## Alex Riesen, 2008-08-28 14:30

Subject: [PATCH] Fix use of hardlinks in "make install"
Message-ID: <81b0412b0808280730m351d409cnab9bbda1f5871938@mail.gmail.com>
URL: https://gitlist.dev/e/81b0412b0808280730m351d409cnab9bbda1f5871938%40mail.gmail.com
In-Reply-To: <81b0412b0808280717u78c5ccf8ne1413c701ed8edd9@mail.gmail.com>

```
The code failed to filter-out git-add properly on platforms were $X is
not empty (ATM there is only one such a platform).

Than it tried to create a hardlink to the file ($execdir/git-add) it just
removed (because git-add is first in the BUILT_INS), so ln failed (but
because stderr was redirected into /dev/null the error was never seen), and
the whole install ended up using "ln -s" instead.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

2008/8/28 Alex Riesen <raa.lkml@gmail.com>:
> 2008/8/28 Alex Riesen <raa.lkml@gmail.com>:
>>
>> It created endless symlink loops on cygwin, but obviously nowhere else.
>>
>
> Sh@#! Scrap that, there is something else going on in that cygwindows thing...
>

Well, as usual, simple fix for trivial typo caused by existence of an
idiotic platform.


From 6d83dbb0e3b78bfaad9522b2266d0864e434acce Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Thu, 28 Aug 2008 15:57:32 +0200
Subject: [PATCH] Fix use of hardlinks in "make install"

The code failed to filter-out git-add properly on platforms were $X is
not empty (ATM there is only one such a platform).

Than it tried to create a hardlink to the file ($execdir/git-add) it just
removed (because git-add is first in the BUILT_INS), so ln failed (but
because stderr was redirected into /dev/null the error was never seen), and
the whole install ended up using "ln -s" instead.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index bf400e6..20f028f 100644
--- a/Makefile
+++ b/Makefile
@@ -1379,7 +1379,7 @@ endif
 	{ $(RM) "$$execdir/git-add$X" && \
 		ln git-add$X "$$execdir/git-add$X" 2>/dev/null || \
 		cp git-add$X "$$execdir/git-add$X"; } && \
-	{ $(foreach p,$(filter-out git-add,$(BUILT_INS)), $(RM) "$$execdir/$p" && \
+	{ $(foreach p,$(filter-out git-add$X,$(BUILT_INS)), $(RM) "$$execdir/$p" && \
 		ln "$$execdir/git-add$X" "$$execdir/$p" 2>/dev/null || \
 		ln -s "git-add$X" "$$execdir/$p" 2>/dev/null || \
 		cp "$$execdir/git-add$X" "$$execdir/$p" || exit;) } && \
-- 
1.6.0.1.152.g6969c


```

## Alex Riesen, 2008-08-30 00:20

Subject: [PATCH/resend] Fix use of hardlinks in "make install"
Message-ID: <20080830002032.GA14522@steel.home>
URL: https://gitlist.dev/e/20080830002032.GA14522%40steel.home
In-Reply-To: <81b0412b0808280717u78c5ccf8ne1413c701ed8edd9@mail.gmail.com>

```
The code failed to filter-out git-add properly on platforms were $X is
not empty (ATM there is only one such a platform).

Than it tried to create a hardlink to the file ($execdir/git-add) it just
removed (because git-add is first in the BUILT_INS), so ln failed (but
because stderr was redirected into /dev/null the error was never seen), and
the whole install ended up using "ln -s" instead.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
2008/8/28 Alex Riesen <raa.lkml@gmail.com>:
> 2008/8/28 Alex Riesen <raa.lkml@gmail.com>:
>>
>> It created endless symlink loops on cygwin, but obviously nowhere else.
>>
>
> Sh@#! Scrap that, there is something else going on in that cygwindows thing...
>

Well, as usual, simple fix for a trivial typo caused by existence of an
idiotic platform.

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index bf400e6..20f028f 100644
--- a/Makefile
+++ b/Makefile
@@ -1379,7 +1379,7 @@ endif
 	{ $(RM) "$$execdir/git-add$X" && \
 		ln git-add$X "$$execdir/git-add$X" 2>/dev/null || \
 		cp git-add$X "$$execdir/git-add$X"; } && \
-	{ $(foreach p,$(filter-out git-add,$(BUILT_INS)), $(RM) "$$execdir/$p" && \
+	{ $(foreach p,$(filter-out git-add$X,$(BUILT_INS)), $(RM) "$$execdir/$p" && \
 		ln "$$execdir/git-add$X" "$$execdir/$p" 2>/dev/null || \
 		ln -s "git-add$X" "$$execdir/$p" 2>/dev/null || \
 		cp "$$execdir/git-add$X" "$$execdir/$p" || exit;) } && \
-- 
1.6.0.1.152.g6969c

```

## Andreas Färber, 2008-08-30 08:59

Subject: Re: [PATCH/resend] Fix use of hardlinks in "make install"
Message-ID: <66B007DD-F970-43E5-BA38-6138E553C93A@googlemail.com>
URL: https://gitlist.dev/e/66B007DD-F970-43E5-BA38-6138E553C93A%40googlemail.com
In-Reply-To: <20080830002032.GA14522@steel.home>

```

Am 30.08.2008 um 02:20 schrieb Alex Riesen:

> The code failed to filter-out git-add properly on platforms were $X is
> not empty (ATM there is only one such a platform).
>
> Than it tried to create a hardlink to the file ($execdir/git-add) it  
> just
> removed (because git-add is first in the BUILT_INS), so ln failed (but
> because stderr was redirected into /dev/null the error was never  
> seen), and
> the whole install ended up using "ln -s" instead.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ---

> Well, as usual, simple fix for a trivial typo caused by existence of  
> an
> idiotic platform.
>
> Makefile |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index bf400e6..20f028f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1379,7 +1379,7 @@ endif
> 	{ $(RM) "$$execdir/git-add$X" && \
> 		ln git-add$X "$$execdir/git-add$X" 2>/dev/null || \
> 		cp git-add$X "$$execdir/git-add$X"; } && \
> -	{ $(foreach p,$(filter-out git-add,$(BUILT_INS)), $(RM) "$$execdir/ 
> $p" && \
> +	{ $(foreach p,$(filter-out git-add$X,$(BUILT_INS)), $(RM) "$ 
> $execdir/$p" && \
> 		ln "$$execdir/git-add$X" "$$execdir/$p" 2>/dev/null || \
> 		ln -s "git-add$X" "$$execdir/$p" 2>/dev/null || \
> 		cp "$$execdir/git-add$X" "$$execdir/$p" || exit;) } && \
> -- 
> 1.6.0.1.152.g6969c

Your patch seems to work on Haiku, don't have a MinGW setup to test.  
Sorry for the breakage.

Andreas

```

## Alex Riesen, 2008-08-30 10:08

Subject: Re: [PATCH/resend] Fix use of hardlinks in "make install"
Message-ID: <81b0412b0808300308m2d03b94ft8601f02b2fea494e@mail.gmail.com>
URL: https://gitlist.dev/e/81b0412b0808300308m2d03b94ft8601f02b2fea494e%40mail.gmail.com
In-Reply-To: <66B007DD-F970-43E5-BA38-6138E553C93A@googlemail.com>

```
2008/8/30 Andreas Färber <planche2k@googlemail.com>:
> Am 30.08.2008 um 02:20 schrieb Alex Riesen:
>
>> Well, as usual, simple fix for a trivial typo caused by existence of an
>> idiotic platform.
>>
> Your patch seems to work on Haiku, don't have a MinGW setup to test. Sorry
> for the breakage.

What?! Haiku uses stupid file extensions to mark executables?

```

## Andreas Färber, 2008-08-30 11:39

Subject: Re: [PATCH/resend] Fix use of hardlinks in "make install"
Message-ID: <60597530-B8AC-421E-84DF-BF241CB799C5@googlemail.com>
URL: https://gitlist.dev/e/60597530-B8AC-421E-84DF-BF241CB799C5%40googlemail.com
In-Reply-To: <81b0412b0808300308m2d03b94ft8601f02b2fea494e@mail.gmail.com>

```

Am 30.08.2008 um 12:08 schrieb Alex Riesen:

> 2008/8/30 Andreas Färber <planche2k@googlemail.com>:
>> Am 30.08.2008 um 02:20 schrieb Alex Riesen:
>>
>>> Well, as usual, simple fix for a trivial typo caused by existence  
>>> of an
>>> idiotic platform.
>>>
>> Your patch seems to work on Haiku, don't have a MinGW setup to  
>> test. Sorry
>> for the breakage.
>
> What?! Haiku uses stupid file extensions to mark executables?

No, it doesn't. Like BeOS, it uses MIME types stored as BFS attributes  
as well as the standard POSIX executable bit.

Since no one appeared to have replied yet, I confirmed that your  
Windows patch does not break things here and looks reasonable to me as  
co-author of the offending commit.

Andreas

```

## Alex Riesen, 2008-08-30 15:48

Subject: Re: [PATCH/resend] Fix use of hardlinks in "make install"
Message-ID: <81b0412b0808300848o7510bbc4u178f32f8d23723d@mail.gmail.com>
URL: https://gitlist.dev/e/81b0412b0808300848o7510bbc4u178f32f8d23723d%40mail.gmail.com
In-Reply-To: <60597530-B8AC-421E-84DF-BF241CB799C5@googlemail.com>

```
2008/8/30 Andreas Färber <planche2k@googlemail.com>:
>
> Since no one appeared to have replied yet, I confirmed that your Windows
> patch does not break things here and looks reasonable to me as co-author of
> the offending commit.

Ok

```
