[PATCH] Retire the `relink` command

Subsystems: kernel build + files below scripts/ (unless maintained elsewhere), the rest

STALE3475d

4 messages, 3 authors, 2017-01-26 · open the first message on its own page

[PATCH] Retire the `relink` command

From: Johannes Schindelin <hidden>
Date: 2017-01-25 16:59:11

Back in the olden days, when all objects were loose and rubber boots were
made out of wood, it made sense to try to share (immutable) objects
between repositories.

Ever since the arrival of pack files, it is but an anachronism.

Let's move the script to the contrib/examples/ directory and no longer
offer it.

Signed-off-by: Johannes Schindelin <redacted>
---
Published-As: https://github.com/dscho/git/releases/tag/retire-relink-v1
Fetch-It-Via: git fetch https://github.com/dscho/git retire-relink-v1

 .gitignore                                          | 1 -
 Makefile                                            | 1 -
 command-list.txt                                    | 1 -
 git-relink.perl => contrib/examples/git-relink.perl | 0
 {Documentation => contrib/examples}/git-relink.txt  | 0
 5 files changed, 3 deletions(-)
 rename git-relink.perl => contrib/examples/git-relink.perl (100%)
 rename {Documentation => contrib/examples}/git-relink.txt (100%)
diff --git a/.gitignore b/.gitignore
index 6722f78f9a..b1020b875f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -118,7 +118,6 @@
 /git-rebase--merge
 /git-receive-pack
 /git-reflog
-/git-relink
 /git-remote
 /git-remote-http
 /git-remote-https
diff --git a/Makefile b/Makefile
index 27afd0f378..658ac19247 100644
--- a/Makefile
+++ b/Makefile
@@ -527,7 +527,6 @@ SCRIPT_PERL += git-archimport.perl
 SCRIPT_PERL += git-cvsexportcommit.perl
 SCRIPT_PERL += git-cvsimport.perl
 SCRIPT_PERL += git-cvsserver.perl
-SCRIPT_PERL += git-relink.perl
 SCRIPT_PERL += git-send-email.perl
 SCRIPT_PERL += git-svn.perl
 
diff --git a/command-list.txt b/command-list.txt
index 2a94137bbb..a1fad28fd8 100644
--- a/command-list.txt
+++ b/command-list.txt
@@ -107,7 +107,6 @@ git-read-tree                           plumbingmanipulators
 git-rebase                              mainporcelain           history
 git-receive-pack                        synchelpers
 git-reflog                              ancillarymanipulators
-git-relink                              ancillarymanipulators
 git-remote                              ancillarymanipulators
 git-repack                              ancillarymanipulators
 git-replace                             ancillarymanipulators
diff --git a/git-relink.perl b/contrib/examples/git-relink.perl
similarity index 100%
rename from git-relink.perl
rename to contrib/examples/git-relink.perl
diff --git a/Documentation/git-relink.txt b/contrib/examples/git-relink.txt
similarity index 100%
rename from Documentation/git-relink.txt
rename to contrib/examples/git-relink.txt
base-commit: 4e59582ff70d299f5a88449891e78d15b4b3fabe
-- 
2.11.1.windows.prerelease.2.3.g7f3eb74

Re: [PATCH] Retire the `relink` command

From: Jeff King <hidden>
Date: 2017-01-25 21:13:37

On Wed, Jan 25, 2017 at 05:58:57PM +0100, Johannes Schindelin wrote:
Back in the olden days, when all objects were loose and rubber boots were
made out of wood, it made sense to try to share (immutable) objects
between repositories.

Ever since the arrival of pack files, it is but an anachronism.
Yes, this is a good idea. I could _almost_ see its utility if it linked
packfiles, too, but then it is very unlikely that two repos have the
exact same packfile.
Let's move the script to the contrib/examples/ directory and no longer
offer it.
I am OK with this, but perhaps we should go even further and just delete
it entirely. The point of contrib/examples is to show people "this is
how you could script plumbing to implement a porcelain". But this script
does not call a single plumbing script. It just looks directly in
objects/, which is probably not something we would want to encourage. :)

-Peff

Re: [PATCH] Retire the `relink` command

From: Eric Wong <hidden>
Date: 2017-01-25 23:20:56

Johannes Schindelin [off-list ref] wrote:
Back in the olden days, when all objects were loose and rubber boots were
made out of wood, it made sense to try to share (immutable) objects
between repositories.

Ever since the arrival of pack files, it is but an anachronism.

Let's move the script to the contrib/examples/ directory and no longer
offer it.
On the other hand, we have no idea if there are still people
using it for whatever reason...

I suggest we have a deprecation period where:

1) there is warning message when it's run
2) a note in the manpage indicating it's to-be-removed
3) ...then wait a few distro LTS cycles to remove it entirely

Re: [PATCH] Retire the `relink` command

From: Johannes Schindelin <hidden>
Date: 2017-01-26 12:18:12

Hi Eric,

On Wed, 25 Jan 2017, Eric Wong wrote:
Johannes Schindelin [off-list ref] wrote:
quoted
Back in the olden days, when all objects were loose and rubber boots
were made out of wood, it made sense to try to share (immutable)
objects between repositories.

Ever since the arrival of pack files, it is but an anachronism.

Let's move the script to the contrib/examples/ directory and no longer
offer it.
On the other hand, we have no idea if there are still people
using it for whatever reason...

I suggest we have a deprecation period where:
I would be fine with a deprecation phase, but that decision is solely on
Junio's shoulders.

Ciao,
Johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help