Thread (1 message) 1 message, 1 author, 2018-03-25
DORMANTno replies

[PATCH] Remove contrib/examples/*

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2018-03-25 20:57:32

On Sun, Mar 25 2018, Ævar Arnfjörð Bjarmason wrote:
There were some side discussions at Git Merge this year about how we
should just update the README to tell users they can dig these up from
the history if the need them, do that.

Looking at the "git log" for this directory we get quite a bit more
patch churn than we should here, mainly from things fixing various
tree-wide issues.

There's also confusion on the list occasionally about how these should
be treated, "Re: [PATCH 1/4] stash: convert apply to
builtin" ([ref])
being the latest example of that.
The people on CC got this, but it seems the git ML rejected the message
as it's too big. The abbreviated patches is here quoted inline, and at:
https://github.com/avar/git/commit/cc578c81c2cb2999b1a0b73954610bd74951c37b
quoted hunk
Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
---

On Sun, Mar 25, 2018 at 6:51 PM, Joel Teichroeb [off-list ref] wrote:
quoted
On Sun, Mar 25, 2018 at 1:09 AM, Christian Couder
[off-list ref] wrote:
quoted
It seems to me that the apply_stash() shell function is also used in
pop_stash() and in apply_to_branch(). Can the new helper be used there
too instead of apply_stash()? And then could apply_stash() be remove?
I wasn't really sure if I should remove code from the .sh file as it
seems in the past the old .sh files have been kept around as examples.
Has that been done for previous conversions?
I was skimming this patch and it seemed to me like it would be more
readable if the *.sh code was removed in the same change (if
possible). It's easier to review like that.

Also, we should just stop maintainign contrib/examples/*.

 contrib/examples/README                |  23 +-
 contrib/examples/builtin-fetch--tool.c | 575 ---------------
 contrib/examples/git-am.sh             | 975 ------------------------
 contrib/examples/git-checkout.sh       | 302 --------
 contrib/examples/git-clean.sh          | 118 ---
 contrib/examples/git-clone.sh          | 525 -------------
 contrib/examples/git-commit.sh         | 639 ----------------
 contrib/examples/git-difftool.perl     | 481 ------------
 contrib/examples/git-fetch.sh          | 379 ----------
 contrib/examples/git-gc.sh             |  37 -
 contrib/examples/git-log.sh            |  15 -
 contrib/examples/git-ls-remote.sh      | 142 ----
 contrib/examples/git-merge-ours.sh     |  14 -
 contrib/examples/git-merge.sh          | 620 ----------------
 contrib/examples/git-notes.sh          | 121 ---
 contrib/examples/git-pull.sh           | 381 ----------
 contrib/examples/git-remote.perl       | 474 ------------
 contrib/examples/git-repack.sh         | 194 -----
 contrib/examples/git-rerere.perl       | 284 -------
 contrib/examples/git-reset.sh          | 106 ---
 contrib/examples/git-resolve.sh        | 112 ---
 contrib/examples/git-revert.sh         | 207 ------
 contrib/examples/git-svnimport.perl    | 976 -------------------------
 contrib/examples/git-svnimport.txt     | 179 -----
 contrib/examples/git-tag.sh            | 205 ------
 contrib/examples/git-verify-tag.sh     |  45 --
 contrib/examples/git-whatchanged.sh    |  28 -
 27 files changed, 20 insertions(+), 8137 deletions(-)
 delete mode 100644 contrib/examples/builtin-fetch--tool.c
 delete mode 100755 contrib/examples/git-am.sh
 delete mode 100755 contrib/examples/git-checkout.sh
 delete mode 100755 contrib/examples/git-clean.sh
 delete mode 100755 contrib/examples/git-clone.sh
 delete mode 100755 contrib/examples/git-commit.sh
 delete mode 100755 contrib/examples/git-difftool.perl
 delete mode 100755 contrib/examples/git-fetch.sh
 delete mode 100755 contrib/examples/git-gc.sh
 delete mode 100755 contrib/examples/git-log.sh
 delete mode 100755 contrib/examples/git-ls-remote.sh
 delete mode 100755 contrib/examples/git-merge-ours.sh
 delete mode 100755 contrib/examples/git-merge.sh
 delete mode 100755 contrib/examples/git-notes.sh
 delete mode 100755 contrib/examples/git-pull.sh
 delete mode 100755 contrib/examples/git-remote.perl
 delete mode 100755 contrib/examples/git-repack.sh
 delete mode 100755 contrib/examples/git-rerere.perl
 delete mode 100755 contrib/examples/git-reset.sh
 delete mode 100755 contrib/examples/git-resolve.sh
 delete mode 100755 contrib/examples/git-revert.sh
 delete mode 100755 contrib/examples/git-svnimport.perl
 delete mode 100644 contrib/examples/git-svnimport.txt
 delete mode 100755 contrib/examples/git-tag.sh
 delete mode 100755 contrib/examples/git-verify-tag.sh
 delete mode 100755 contrib/examples/git-whatchanged.sh
diff --git a/contrib/examples/README b/contrib/examples/README
index 6946f3dd2a..18bc60b021 100644
--- a/contrib/examples/README
+++ b/contrib/examples/README
@@ -1,3 +1,20 @@
-These are original scripted implementations, kept primarily for their
-reference value to any aspiring plumbing users who want to learn how
-pieces can be fit together.
+This directory used to contain scripted implementations of builtins
+that have since been rewritten in C.
+
+They have now been removed, but can be retrieved from an older commit
+that removed them from this directory.
+
+They're interesting for their reference value to any aspiring plumbing
+users who want to learn how pieces can be fit together, but in many
+cases have drifted enough from the actual implementations Git uses to
+be instructive.
+
+Other things that can be useful:
+
+ * Some commands such as git-gc wrap other commands, and what they're
+   doing behind the scenes can be seen by running them under
+   GIT_TRACE=1
+
+ * Doing `git log` on paths matching '*--helper.c' will show
+   incremental effort in the direction of moving existing shell
+   scripts to C.
[...]
The rest of this patch is deleting everything in contrib/examples/ that
isn't the README.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help