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