Remove a handful of ancient cruft files

Junio C Hamano committed Dec 20, 2016 at 15:09 UTC e8c94b5627f6c11d67b36a912a2677026aadf218
7 files changed -379
ClonePlus.txt deleted
-125
@@ -1,125 +0,0 @@
1 -From: Junio C Hamano <junkio@cox.net>
2 -Subject: Re: Make "git clone" less of a deathly quiet experience
3 -Date: Sun, 12 Feb 2006 19:36:41 -0800
4 -Message-ID: <7v4q3453qu.fsf@assigned-by-dhcp.cox.net>
5 -References: <Pine.LNX.4.64.0602102018250.3691@g5.osdl.org>
6 - <7vwtg2o37c.fsf@assigned-by-dhcp.cox.net>
7 - <Pine.LNX.4.64.0602110943170.3691@g5.osdl.org>
8 - <1139685031.4183.31.camel@evo.keithp.com> <43EEAEF3.7040202@op5.se>
9 - <1139717510.4183.34.camel@evo.keithp.com>
10 - <46a038f90602121806jfcaac41tb98b8b4cd4c07c23@mail.gmail.com>
11 -Content-Type: text/plain; charset=us-ascii
12 -Cc: Keith Packard <keithp@keithp.com>, Andreas Ericsson <ae@op5.se>,
13 - Linus Torvalds <torvalds@osdl.org>,
14 - Git Mailing List <git@vger.kernel.org>,
15 - Petr Baudis <pasky@suse.cz>
16 -Return-path: <git-owner@vger.kernel.org>
17 -In-Reply-To: <46a038f90602121806jfcaac41tb98b8b4cd4c07c23@mail.gmail.com>
18 - (Martin Langhoff's message of "Mon, 13 Feb 2006 15:06:42 +1300")
19 -
20 -Martin Langhoff <martin.langhoff@gmail.com> writes:
21 -
22 -> +1... there should be an easy-to-compute threshold trigger to say --
23 -> hey, let's quit being smart and send this client the packs we got and
24 -> get it over with. Or perhaps a client flag so large projects can
25 -> recommend that uses do their initial clone with --gimme-all-packs?
26 -
27 -What upload-pack does boils down to:
28 -
29 - * find out the latest of what client has and what client asked.
30 -
31 - * run "rev-list --objects ^client ours" to make a list of
32 - objects client needs. The actual command line has multiple
33 - "clients" to exclude what is unneeded to be sent, and
34 - multiple "ours" to include refs asked. When you are doing
35 - a full clone, ^client is empty and ours is essentially
36 - --all.
37 -
38 - * feed that output to "pack-objects --stdout" and send out
39 - the result.
40 -
41 -If you run this command:
42 -
43 - $ git-rev-list --objects --all |
44 - git-pack-objects --stdout >/dev/null
45 -
46 -It would say some things. The phases of operations are:
47 -
48 - Generating pack...
49 - Counting objects XXXX...
50 - Done counting XXXX objects.
51 - Packing XXXXX objects.....
52 -
53 -Phase (1). Between the time it says "Generating pack..." upto
54 -"Done counting XXXX objects.", the time is spent by rev-list to
55 -list up all the objects to be sent out.
56 -
57 -Phase (2). After that, it tries to make decision what object to
58 -delta against what other object, while twenty or so dots are
59 -printed after "Packing XXXXX objects." (see #git irc log a
60 -couple of days ago; Linus describes how pack building works).
61 -
62 -Phase (3). After the dot stops, the program becomes silent.
63 -That is where it actually does delta compression and writeout.
64 -
65 -You would notice that quite a lot of time is spent in all
66 -phases.
67 -
68 -There is an internal hook to create full repository pack inside
69 -upload-pack (which is what runs on the other end when you run
70 -fetch-pack or clone-pack), but it works slightly differently
71 -from what you are suggesting, in that it still tries to do the
72 -"correct" thing. It still runs "rev-list --objects --all", so
73 -"dangling objects" are never sent out.
74 -
75 -We could cheat in all phases to speed things up, at the expense
76 -of ending up sending excess objects. So let's pretend we
77 -decided to treat everything in .git/objects/packs/pack-* (and
78 -the ones found in alternates as well) have interesting objects
79 -for the cloner.
80 -
81 -(1) This part unfortunately cannot be totally eliminated. By
82 - assume all packs are interesting, we could use the object
83 - names from the pack index, which is a lot cheaper than
84 - rev-list object traversal. We still need to run rev-list
85 - --objects --all --unpacked to pick up loose objects we would
86 - not be able to tell by looking at the pack index to cover
87 - the rest.
88 -
89 - This however needs to be done in conjunction with the second
90 - phase change. pack-objects depends on the hint rev-list
91 - --objects output gives it to group the blobs and trees with
92 - the same pathnames together, and that greatly affects the
93 - packing efficiency. Unfortunately pack index does not have
94 - that information -- it does not know type, nor pathnames.
95 - Type is relatively cheap to obtain but pathnames for blob
96 - objects are inherently unavailable.
97 -
98 -(2) This part can be mostly eliminated for already packed
99 - objects, because we have already decided to cheat by sending
100 - everything, so we can just reuse how objects are deltified
101 - in existing packs. It still needs to be done for loose
102 - objects we collected to fill the gap in (1).
103 -
104 -(3) This also can be sped up by reusing what are already in
105 - packs. Pack index records starting (but not end) offset of
106 - each object in the pack, so we can sort by offset to find
107 - out which part of the existing pack corresponds to what
108 - object, to reorder the objects in the final pack. This
109 - needs to be done somewhat carefully to preserve the locality
110 - of objects (again, see #git log). The deltifying and
111 - compressing for loose objects cannot be avoided.
112 -
113 - While we are writing things out in (3), we need to keep
114 - track of running SHA1 sum of what we write out so that we
115 - can fill out the correct checksum at the end, but I am
116 - guessing that is relatively cheap compared to the
117 - deltification and compression cost we are currently paying
118 - in this phase.
119 -
120 -NB. In the #git log, Linus made it sound like I am clueless
121 -about how pack is generated, but if you check commit 9d5ab96,
122 -the "recency of delta is inherited from base", one of the tricks
123 -that have a big performance impact, was done by me ;-).
124 -
125 -
PU deleted
-90
@@ -1,90 +0,0 @@
1 -#!/bin/sh
2 -#
3 -# Rebuild "pu" from topic branches.
4 -#
5 -
6 -git update-index --refresh || exit
7 -case "$(git diff-index --name-status HEAD)" in
8 -'') ;;
9 -*) echo 2>&1 "Local modifications exist."
10 - exit 1;;
11 -esac
12 -
13 -case "$1" in
14 ---continue)
15 - shift
16 - ;;
17 -*)
18 - git checkout pu &&
19 - git reset --hard master || exit
20 -esac
21 -ORIG_HEAD=`git rev-parse ORIG_HEAD` || exit
22 -LF='
23 -'
24 -
25 -case "$#" in
26 -0)
27 - # interactive ;-)
28 - shift
29 - HH=`cd .git/refs/heads && find -type f |
30 - sed -e 's/^\.\///' \
31 - -e '/^naster$/d' -e '/^master$/d' -e '/^maint$/d' -e '/^pu$/d'`
32 - while test "$HH"
33 - do
34 - I=0
35 - echo "0: done"
36 - NHH=
37 - for H in $HH
38 - do
39 - HSHA1=`git rev-parse --verify $H` || continue
40 - MB=`git show-branch --merge-base pu $HSHA1`
41 - case "$LF$MB$LF" in
42 - *"$LF$HSHA1$LF"*) continue ;; # already merged.
43 - esac
44 - I=$(($I+1))
45 - echo -n "$I: "
46 - git show-branch $H
47 - NHH="${NHH}$H "
48 - done
49 - case "$I" in
50 - 0)
51 - break ;;
52 - esac
53 - HH=$NHH
54 - echo -n "Merge which ones (0 to finish)? "
55 - read ans
56 - case "$ans" in
57 - '' | 0)
58 - break ;;
59 - esac
60 - I=0
61 - UNUSE= USE= USED=
62 - for H in $HH
63 - do
64 - I=$(($I+1))
65 - case " $ans " in
66 - *' '$I' '*)
67 - USE="$USE$H "
68 - USED="$USED,$H"
69 - ;;
70 - *)
71 - UNUSE="$UNUSE$H "
72 - ;;
73 - esac
74 - done
75 - USED=`expr "$USED" : ',\(.*\)'`
76 - git pull -n . $USE || exit
77 - # git merge -n "Merge $USED" pu $USE || exit
78 - HH=$UNUSE
79 - done
80 - exit
81 - ;;
82 -esac
83 -
84 -for H
85 -do
86 -# (IFS=",$IFS"; git merge -n "Merge $H" pu $H) || exit
87 - (IFS=",$IFS"; git pull -n . $H) || exit
88 -done
89 -
90 -(IFS=",$IFS"; git show-branch master $* pu `git rev-parse --short $ORIG_HEAD`)
Porcelainistas deleted
-73
@@ -1,73 +0,0 @@
1 -Message-ID: <20050927001542.GC15615@reactrix.com>
2 -From: Nick Hengeveld <nickh@reactrix.com>
3 -Date: Mon, 26 Sep 2005 17:15:42 -0700
4 -
5 -Good point - use of environment variables is more consistent. Use of
6 -command-line arguments is a bit more convenient in my case since I'm
7 -driving the transfer from a perl script, but I suppose consistency is
8 -more important...
9 -
10 -Message-ID: <000a01c5c2fe$71fd6200$0200a8c0@AMEER>
11 -From: "Ameer Armaly" <ameerarmaly@bellsouth.net>
12 -Date: Mon, 26 Sep 2005 20:57:33 -0400
13 -
14 -I am seriously looking at putting one together in the D language
15 -(http://www.digitalmars.com/d) <plug>, though it doesn't actually do
16 -anything as of yet, since I have to balance classes along with it.
17 -
18 -
19 -Message-ID: <1127840572.16026.29.camel@mariano>
20 -From: Mariano Videla <mvidela@ases.com.ar>
21 -Date: Tue, 27 Sep 2005 14:02:51 -0300
22 -
23 -I setup a git repository for gipy... Didn't upload any files in
24 -sourceforge because I don't think is ready.
25 -
26 -http://24.232.198.9:7978/gipy.git
27 -http://24.232.198.9:7978/cgi/gitweb.cgi
28 -
29 -
30 -Message-ID: <20050928113008.GA11309@snarc.org>
31 -From: tab@snarc.org (Vincent Hanquez)
32 -Date: Wed, 28 Sep 2005 13:30:08 +0200
33 -
34 -Well, I kinda work on one written in C using a libgit (using exec of git
35 -executable for the moment) It doesn't do that much at the moment:
36 -commiting, adding files, removing files.
37 -
38 -At some point I'ld like to have a very integrated and easy to use
39 -porcelain, but for now that's more a learning git by practice kind of
40 -project.
41 -
42 -Message-ID: <pan.2005.09.28.20.22.10.626793@smurf.noris.de>
43 -From: Matthias Urlichs <smurf@smurf.noris.de>
44 -Date: Wed, 28 Sep 2005 22:22:13 +0200
45 -
46 -Python integration needs either lots of fork+exec, a git rewrite in
47 -Python, or a libgit reorganization in library-ized C.
48 -
49 -I'm doing the latter, but my free time is kindof limited for now.
50 -
51 -My library-ize branch is at
52 - git fetch http://netz.smurf.noris.de/git/git.git libize
53 -if anybody wants to have a look. My first goal is to get object access
54 -working sanely (because that's what I need for my Python project).
55 -
56 -I haven't merged up for some time, though.
57 -
58 -From: Darrin Thompson <darrint@progeny.com>
59 -Date: Wed, 04 Jan 2006 13:51:32 -0500
60 -Message-Id: <1136400692.5919.11.camel@localhost.localdomain>
61 -
62 -I'd like to make this friendly behavior [ls-files -o not showing
63 -contents of untracked directory] the default in my porcelain.
64 -
65 -
66 -Message-ID: <cc723f590601261946h101d7000oa1990c31c5b642fc@mail.gmail.com>
67 -From: Aneesh Kumar <aneesh.kumar@gmail.com>
68 -Date: Fri, 27 Jan 2006 09:16:58 +0530
69 -
70 -I am right now making a gnome based git repository browser [1].
71 -
72 -[1] http://www.flickr.com/photos/17388011@N00/91636482/
73 -This is based on bzrk GUI frontend to bazaar and written in python
ResettingPaths.txt deleted
-64
@@ -1,64 +0,0 @@
1 -From: Junio C Hamano <junkio@cox.net>
2 -Subject: Resetting paths
3 -Date: Thu, 09 Feb 2006 20:40:15 -0800
4 -Message-ID: <7vlkwjzv0w.fsf@assigned-by-dhcp.cox.net>
5 -Content-Type: text/plain; charset=us-ascii
6 -Return-path: <git-owner@vger.kernel.org>
7 -
8 -While working on "assume unchanged" git series, I found one
9 -thing missing from the current set of tools.
10 -
11 -While I worked on parts of the system that deals with the cached
12 -lstat() information, I needed a way to debug that, so I hacked
13 -ls-files -t option to show entries marked as "always matches the
14 -index" with lowercase tag letters. This was primarily debugging
15 -aid hack.
16 -
17 -Then I committed the whole thing with "git commit -a" by
18 -mistake. In order to rewind the HEAD to pre-commit state, I can
19 -say "git reset --soft HEAD^", but after doing that, now I want
20 -to unupdate the index so that ls-files.c matches the pre-commit
21 -HEAD.
22 -
23 -"git reset --mixed" is a heavy-handed tool for that. It reads
24 -the entier index from the HEAD commit without touching the
25 -working tree, so I would need to add the modified paths back
26 -with "git update-index".
27 -
28 -The low-level voodoo to do so for this particular case is this
29 -single liner:
30 -
31 - git ls-tree HEAD ls-files.c | git update-index --index-info
32 -
33 -Have people found themselves in similar need like this? This
34 -could take different forms.
35 -
36 - * you did "git update-index" on a wrong path. This is my
37 - example and the above voodoo is a recipe for recovery.
38 -
39 - * you did "git add" on a wrong path and you want to remove it.
40 - This is easier than the above:
41 -
42 - git update-index --force-remove path
43 -
44 - * you did the above recovery from "git add" on a wrong path,
45 - and you want to add it again. The same voodoo would work in
46 - this case as well.
47 -
48 - git ls-tree HEAD path | git update-index --index-info
49 -
50 -We could add "git reset path..." to reduce typing for the above,
51 -but I am wondering if it is worth it.
52 -
53 -BTW, this shows how "index centric" git is. With other SCM that
54 -has only the last commit and the working tree files, you do not
55 -have to worry any of these things, so it might appear that index
56 -is just a nuisance. But if you do not have any "registry of
57 -paths to be committed", you cannot do a partial commit like what
58 -I did above ("commit changes to all files other than
59 -ls-files.c") without listing all the paths to be committed, or
60 -fall back on CVS style "one path at a time", breaking an atomic
61 -commit, so there is a drawback for not having an index as well.
62 -
63 -
64 -
SA deleted
-8
@@ -1,8 +0,0 @@
1 -#!/bin/sh
2 -# Take a snapshot of master and next *after* making an
3 -# "What's in git.git" announcement, for the next round.
4 -
5 -git update-ref refs/hold/sa/master refs/heads/master
6 -git update-ref refs/hold/sa/maint refs/heads/maint
7 -
8 -
gitweb_config.perl deleted
-17
@@ -1,17 +0,0 @@
1 -#
2 -
3 -our $G = '/opt/packrat/playpen/public/in-place/git';
4 -$GIT = '/home/junio/bin/Linux/git';
5 -$projectroot = $G;
6 -$site_name = 'Gitster Local';
7 -$stylesheet = '/gitweb.css';
8 -$logo = '/git-logo.png';
9 -$favicon = '/git-favicon.png';
10 -$projects_list = "$G/index/index.aux";
11 -
12 -while (my ($k, $v) = each %feature) {
13 - $feature{$k}{'override'} = 1;
14 -}
15 -$feature{'pathinfo'}{'override'} = 0;
16 -$feature{'pathinfo'}{'default'} = [1];
17 -1;
index.aux deleted
-2
@@ -1,2 +0,0 @@
1 -git.junio%2f.git Junio+C+Hamano
2 -linux-2.6%2F.git Linus+Torvalds