Skip to content

Commit f8ab671

Browse files
author
Junio C Hamano
committed
snapshot 2006-04-14
1 parent c1a4066 commit f8ab671

File tree

4 files changed

+57
-78
lines changed

4 files changed

+57
-78
lines changed

Doit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ test -z "$(git diff --cached --name-status)" || {
88
}
99
Meta/Make clean >/dev/null 2>&1
1010

11-
branches='next master maint'
11+
: ${branches='next master pu'}
1212

1313
nstall=install
1414
for branch in $branches

RB

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/bin/sh
2+
3+
master_sha1=`git rev-parse --verify refs/heads/master`
4+
LF='
5+
'
6+
(cd .git/refs/heads && find -type f) |
7+
sed -n \
8+
-e 's/^\.\///' \
9+
-e '/^[^\/][^\/]\//p' |
10+
while read topic
11+
do
12+
rebase= done= not_done= trouble= date=
13+
topic_sha1=`git rev-parse --verify "refs/heads/$topic"`
14+
15+
date=`
16+
git-rev-list -1 --pretty "$topic" |
17+
sed -ne 's/^Date: *\(.*\)/ (\1)/p'
18+
`
19+
only_next_1=`git-rev-list ^master "^$topic" next | sort`
20+
only_next_2=`git-rev-list ^master next | sort`
21+
rebase=
22+
if test "$only_next_1" = "$only_next_2"
23+
then
24+
not_in_topic=`git-rev-list "^$topic" master`
25+
if test -z "$not_in_topic"
26+
then
27+
:; # already up-to-date.
28+
else
29+
rebase=" (can be rebased)"
30+
fi
31+
fi
32+
if test -n "$rebase"
33+
then
34+
echo "Rebasing $topic to pick up:"
35+
git-rev-list --pretty=oneline "^$topic" master |
36+
sed -e 's/^[0-9a-f]* / * /'
37+
git checkout "$topic" &&
38+
git rebase master || break;
39+
fi
40+
done
41+
42+

TODO

Lines changed: 6 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -17,45 +17,23 @@ if ever -- only if somebody cares enough and submits a clean
1717
patch, perhaps ;-).
1818

1919

20-
Documentation
21-
-------------
22-
23-
* No pending issues at the moment. "Revamp Tutorial" initiative
24-
by Bruce Fields ongoing and things are looking better.
25-
26-
2720
UI
2821
--
2922

3023
* Make "git branch -d foo" while on foo branch suggest "maybe
3124
you want to go back to 'master'?"
3225

33-
* Error message from "git checkout -b bar v2.6.10" should assume
34-
v2.6.10 is an attempt to switch to a new branch based on
35-
mistyped tag, not an attempt to revert path v2.6.10 from the
36-
HEAD commit with extra "make and switch to this branch"
37-
argument.
38-
39-
* "git commit [-i|-o] paths..." with misspelled paths would be
40-
silently ignored. Add a flag to ls-files to catch unmatched
41-
pathspec to prevent this.
42-
4326

4427
Design issues
4528
-------------
4629

47-
* Rehash "git commit" with various parameters to be more
48-
intuitive without breaking traditinal users too much. We need
49-
to phase this in, especially if we are going to change "git
50-
commit" to imply the current "git commit -a" behaviour.
51-
52-
* "intent to add" index entries.
30+
* "intent to add" index entries?
5331

5432
* Plug-in file-level merges. On the other hand, we may not even
5533
need this; just tell people to run "xxdiff -U" on the working
5634
tree files.
5735

58-
* Doing a merge in a separate directory.
36+
* Doing a merge in a separate directory?
5937

6038
* Make 'format-patch' take revision limiters similar to
6139
rev-list. For example:
@@ -101,52 +79,21 @@ Technical (heavier)
10179

10280
This needs a matching smart on the dumb protocol downloader.
10381

104-
* Maybe an Emacs VC backend.
105-
106-
* Look at libified GNU diff CVS seems to use, or libxdiff.
107-
[Daniel has his own diff tool almost ready to start
108-
integrating and testing]
109-
11082

11183
Technical (milder)
11284
------------------
11385

114-
* "git status -v" to give commit preview.
86+
* Shallow clones.
87+
88+
* Encourage competition between annotate vs blame. Maybe come
89+
up with some nontrivial test cases.
11590

11691
* Subprojects. I think the "bind commit" approach has been
11792
outlined at sufficiently detailed level. Maybe find time to
11893
actually start prototyping it?
11994

12095
<7vacdzkww3.fsf@assigned-by-dhcp.cox.net>
12196

122-
* Shallow clones.
123-
124-
* Mark entries as "assume unchanged" in the index.
125-
126-
<Pine.LNX.4.64.0601311807470.7301@g5.osdl.org>
127-
128-
A config item '[core] trust_stat = false' would cause to:
129-
130-
- "update-index" with or without --add would mark the path
131-
valid after registering. Should we make the working tree
132-
file read-only at this point?
133-
134-
- checkout-index -u would mark the path and makes the working
135-
tree file read-only.
136-
137-
- read-tree without -u would mark the path invalid.
138-
139-
- update-index --refresh should *not* mark up-to-date paths valid.
140-
141-
Impacts to various commands:
142-
143-
- update-index --refresh would ignore them.
144-
145-
- diff-files would say unchanged.
146-
147-
- diff-index without --cached acts the same way as diff-index
148-
--cached.
149-
15097
* Decide what to do about rebase applied to merged head. One
15198
extreme is to allow rebase if "rev-list ours..theirs" gives
15299
anything. This loosens the current merge-base based approach.
@@ -164,8 +111,6 @@ Technical (milder)
164111

165112
<20060114021800.4688.qmail@web31803.mail.mud.yahoo.com>
166113

167-
* Perhaps a smarter HTTP anonymous download via CGI.
168-
169114
* diff stopping at the first output; qgit wants to know if this
170115
tree has any A or D from the other tree and nothing else.
171116
Would help internal tree-diff in rev-list as well.
@@ -179,22 +124,11 @@ Technical (milder)
179124
* Perhaps detect cloning request in upload-pack and cache the
180125
result for next cloning request until any of our refs change.
181126

182-
* Perhaps accept patch to optionally allow '--fuzz' in
183-
'git-apply'. am/applymbox is _not_ the place to do it.
184-
185-
* Allow 'git apply' to accept GNU diff 2.7 output that forgets
186-
to say '\No newline' if both input ends with incomplete
187-
lines.
188-
189127
* Perhaps deal with "Files differ" (binary diff) in non C
190128
locales.
191129

192130
* Maybe grok PGP signed text/plain in applymbox as well.
193131

194-
* Output full path in the "git-rev-list --objects" output, not
195-
just the basename, and see the improved clustering results in
196-
better packing [Tried, but did not work out well].
197-
198132

199133
Technical (trivial)
200134
-------------------

WI

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
#!/bin/sh
22
# Prepare "What's in git.git"
33

4+
master_at=$(git rev-parse --verify refs/heads/master)
5+
46
echo "To: git@vger.kernel.org"
57
echo "Subject: What's in git.git"
8+
echo "X-master-at: $master_at"
69

710
tagged=`git rev-parse --not --verify tags/sa/master`
8-
list=`git-rev-list $tagged heads/master 2>/dev/null`
11+
list=`git-rev-list $tagged refs/heads/master 2>/dev/null`
912
if test -n "$list"
1013
then
1114
echo
@@ -14,22 +17,22 @@ then
1417
git log $tagged heads/master | git shortlog
1518
fi
1619

17-
list=`git-rev-list heads/master..heads/next 2>/dev/null`
20+
list=`git-rev-list refs/heads/master..refs/heads/next 2>/dev/null`
1821
if test -n "$list"
1922
then
2023
echo
2124
echo
2225
echo "* The 'next' branch, in addition, has these."
2326
echo
24-
git log --no-merges heads/master..heads/next | git shortlog
27+
git log --no-merges refs/heads/master..refs/heads/next | git shortlog
2528
fi
2629

27-
list=`git-rev-list ^heads/master ^heads/next heads/pu 2>/dev/null`
30+
list=`git-rev-list ^refs/heads/master ^refs/heads/next refs/heads/pu 2>/dev/null`
2831
if test -n "$list"
2932
then
3033
echo
3134
echo
3235
echo "* The 'pu' branch, in addition, has these."
3336
echo
34-
git log --no-merges ^heads/master ^heads/next heads/pu | git shortlog
37+
git log --no-merges ^refs/heads/master ^refs/heads/next refs/heads/pu | git shortlog
3538
fi

0 commit comments

Comments
 (0)