Re: [PATCH] Retire the `relink` command

2017-01-26 Thread Johannes Schindelin
Hi Eric,

On Wed, 25 Jan 2017, Eric Wong wrote:

> 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.
> > 
> > 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


Re: [PATCH] Retire the `relink` command

2017-01-25 Thread Eric Wong
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.
> 
> 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

2017-01-25 Thread Junio C Hamano
Jeff King  writes:

> 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. :)

Yeah.  I am OK with this patch as the first step of "first move to
contrib and then remove" two step process, but I suspect we may
forget to follow through.


Re: [PATCH] Retire the `relink` command

2017-01-25 Thread Jeff King
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


[PATCH] Retire the `relink` command

2017-01-25 Thread Johannes Schindelin
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 
---
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-packsynchelpers
 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