mirror of
https://github.com/git/git.git
synced 2026-01-24 07:47:20 +09:00
Really prepare for 0.99.7
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
cb816a7210
commit
11d56b155c
104
HAVEDONE
Normal file
104
HAVEDONE
Normal file
@ -0,0 +1,104 @@
|
||||
Done in 0.99.7
|
||||
==============
|
||||
|
||||
Organization
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Some commands and most scripts are renamed for consistency.
|
||||
|
||||
- We have an official standard terminology list [*1*]. To
|
||||
match this, commands that operate on index files now have
|
||||
'index' instead of 'cache' in their names, and ones that
|
||||
download are called 'fetch' instead of 'pull'.
|
||||
|
||||
- We used to install most of the commands that happen to be
|
||||
implemented as scripts as 'git-*-script', which was
|
||||
cumbersome to remember and type unless you always used 'git'
|
||||
wrapper. They lost '-script' suffix from their names.
|
||||
|
||||
For now, we install synonyms as symbolic links so that old
|
||||
names continue to work, but they are planned to be removed in
|
||||
0.99.8 (or later if there are enough objections on the list --
|
||||
so far I have heard none).
|
||||
|
||||
Also ancient environment variables [*2*] are not supported
|
||||
anymore.
|
||||
|
||||
|
||||
New Features and Commands
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Downloaders that are not fully git aware have been taught about
|
||||
the mechanism to borrow objects from other repositories via
|
||||
objects/info/alternates the server side may be using. 'git
|
||||
fetch' and 'git pull' commands over rsync and http transport
|
||||
should be able to handle such repositories [*3*].
|
||||
|
||||
People found interesting cases where the 'stupid' three-way
|
||||
merge mechanism does the wrong thing without noticing. We have
|
||||
two new merge algorithms by Daniel and Fredrik that attempt to
|
||||
do better in such cases. A new 'git merge' command has been
|
||||
introduced to make it easier to experiment with and choose among
|
||||
different merge strategies. Note that 'git pull' still uses the
|
||||
traditional three-way merge after downloading, but it is
|
||||
expected to be switched to use 'git merge' sometime in the
|
||||
future.
|
||||
|
||||
Importing from tla archives has been improved and documentated.
|
||||
|
||||
'git branch' command acquired '-d' flag to delete a branch that
|
||||
has already been merged into the current branch.
|
||||
|
||||
'git bisect' command is easier to use by logging the earlier
|
||||
good/bad choices and make it replayable.
|
||||
|
||||
'git repack' has -a' flag to pack the whole repository into a
|
||||
single pack.
|
||||
|
||||
'git grep' is a new command to run grep on files 'git' knows
|
||||
about.
|
||||
|
||||
|
||||
Fixes
|
||||
~~~~~
|
||||
|
||||
* 'git-diff-*' commands used to mark copy/rename incorrectly
|
||||
when an (A,B) => (B,C) rename was made. We said the new B is
|
||||
a copy of old A, not a rename of old A.
|
||||
|
||||
* When the user exported CDPATH into environment, 'cd' took
|
||||
scripts to unexpected places. Unset it upfront to guard us.
|
||||
|
||||
* 'git format-patch' knows about 'git cherry' and skips patches
|
||||
already merged upstream.
|
||||
|
||||
* hopefully plugged memory leak in diffcore-rename properly.
|
||||
|
||||
* commit walkers incorrectly assumed having a commit means we
|
||||
have the whole history leading up to it -- which is not true
|
||||
if the previous download was interrupted. As a safety
|
||||
measure, we now only trust the commits that are pointed by the
|
||||
existing refs.
|
||||
|
||||
* 'git rev-list' uses a lot less memory.
|
||||
|
||||
* The build should be a bit friendlier to Solaris and Darwin now.
|
||||
|
||||
* 'git ssh-{push,pull}' are friendlier to tcsh.
|
||||
|
||||
* http transport is nicer to caching proxies.
|
||||
|
||||
* 'git daemon' port is registered with IANA.
|
||||
|
||||
* Many documentation updates.
|
||||
|
||||
|
||||
[Footnotes]
|
||||
*1* http://www.kernel.org/pub/software/scm/git/docs/glossary.html
|
||||
|
||||
*2* Ancient environment variable names: SHA1_FILE_DIRECTORIES
|
||||
AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME COMMIT_AUTHOR_EMAIL
|
||||
COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY
|
||||
|
||||
*3* But not grafts.
|
||||
|
||||
142
TODO
142
TODO
@ -1,15 +1,13 @@
|
||||
What to expect after 0.99.6
|
||||
===========================
|
||||
The GIT To-Do File
|
||||
==================
|
||||
|
||||
This is written in a form of to-do list for me, so if I say
|
||||
"accept patch", it means I do not currently plan to do that
|
||||
myself. People interested in seeing it materialize please take
|
||||
a hint. The latest copy of this document is found at
|
||||
The latest copy of this document is found at
|
||||
|
||||
http://kernel.org/git/?p=git/git.git;a=blob;hb=todo;f=TODO
|
||||
|
||||
|
||||
Tool Renames Plan
|
||||
-----------------
|
||||
=================
|
||||
|
||||
- All non-binary commands will lose -script suffix in
|
||||
$(bindir). The source to git-foo will be either git-foo.sh
|
||||
@ -37,12 +35,10 @@ Tool Renames Plan
|
||||
|
||||
- In 0.99.7, all renamed commands will have symbolic links in
|
||||
$(bindir) so that old names continue to work. These backward
|
||||
compatible symlinks will not be present in documentation,
|
||||
though. Especially, the main documentation, git(7) will talk
|
||||
about the new names. Old environment names defined in
|
||||
gitenv() will also be removed in this release.
|
||||
|
||||
Tentatively we aim to do this on Sep 17th.
|
||||
compatible names will not appear in documentation. The main
|
||||
documentation, git(7) will talk about the new names but would
|
||||
mention their old names as historical notes. Old environment
|
||||
names defined in gitenv() will also be removed in this release.
|
||||
|
||||
- In 0.99.8, we do not install these backward compatible
|
||||
symbolic links in $(bindir) anymore. The Makefile will have
|
||||
@ -54,6 +50,15 @@ Tool Renames Plan
|
||||
find this schedule too tight.
|
||||
|
||||
|
||||
What to expect after 0.99.7
|
||||
===========================
|
||||
|
||||
This is written in a form of to-do list for me, so if I say
|
||||
"accept patch", it means I do not currently plan to do that
|
||||
myself. People interested in seeing it materialize please take
|
||||
a hint.
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
@ -95,16 +100,6 @@ Technical (heavier)
|
||||
me, and Daniel outlined a smarter merge strategy for this.
|
||||
Try them out.
|
||||
|
||||
* To make it easier to experiment with different merge
|
||||
strategies, make git-merge driver that will run merge backends
|
||||
for the best merge [DONE].
|
||||
|
||||
* Sort out the mess objects/info/alternates introduces on the
|
||||
client end. Both rsync and commit walkers are broken.
|
||||
* describe current situation [DONE]
|
||||
* http [Daniel started]
|
||||
* rsync
|
||||
|
||||
* We might want to optimize cloning with GIT native transport
|
||||
not to explode the pack, and store it in objects/pack instead.
|
||||
We would need a tool to generate an idx file out of a pack
|
||||
@ -112,6 +107,10 @@ Technical (heavier)
|
||||
idea, making the set of packs in repositories everybody has
|
||||
different from each other.
|
||||
|
||||
* Libification. There are many places "run once" mentality is
|
||||
ingrained in the management of basic data structures, which
|
||||
need to be fixed.
|
||||
|
||||
* Maybe a pack optimizer.
|
||||
|
||||
* Maybe an Emacs VC backend.
|
||||
@ -120,41 +119,18 @@ Technical (heavier)
|
||||
Technical (milder)
|
||||
------------------
|
||||
|
||||
* Define semantics for relative pathnames in objects/info/alternates.
|
||||
Either relative to 'objects', or relative to the top of project tree
|
||||
;the latter is consistent with GIT_ALTERNATE_OBJECT_DIRECTORIES.
|
||||
Perhaps would end up doing the former because we would want to be
|
||||
consistent between a naked repository and a repository with working
|
||||
tree [DONE].
|
||||
|
||||
* Tool renames. Give fixup patch for at least Cogito and StGIT
|
||||
[DONE].
|
||||
|
||||
* Massage ssh-fetch and ssh-upload to be more backward
|
||||
compatible.
|
||||
|
||||
* Have Daniel's read-tree graduate from "pu" after plugging
|
||||
leaks [DONE].
|
||||
|
||||
* Implement a merge backend using Daniel's read-tree [DONE].
|
||||
|
||||
* Rename 'git-merge-resolve' to 'git-merge-stupid' and
|
||||
'git-merge-multibase' to 'git-merge-resolve'; the former is
|
||||
for historical curiosity and comparison purposes only and not
|
||||
to be used in real applications so remove it from the default
|
||||
strategies list [DONE].
|
||||
|
||||
* Accept Fredrik merge after renaming it (I want to name the
|
||||
driver 'git merge'). Suggest where to place *.py stuff --
|
||||
probably in $(share)/git-core/ and add Makefile entry for
|
||||
installation [DONE].
|
||||
* The recent commit walker safety patch may be too cautious and
|
||||
appears to take forever when cloning. This may even be
|
||||
infinitely looping in the code lifted from the old rev-list --
|
||||
needs to be taken a look at [DONE INITIAL CUT].
|
||||
|
||||
* Encourage concrete proposals to commit log message templates
|
||||
we discussed some time ago.
|
||||
|
||||
* Bug Martin for archimport script documentation [DONE].
|
||||
* Accept patches for more portability.
|
||||
|
||||
* More portability [IN PROGRESS].
|
||||
* strcasestr() in mailinfo. We may need compat/strcasestr.c;
|
||||
this is bugging OpenBSD folks.
|
||||
|
||||
* Accept patches to cause "read-tree -u" delete a directory when
|
||||
it makes it empty.
|
||||
@ -167,6 +143,10 @@ Technical (milder)
|
||||
* Perhaps accept patch to optionally allow '--fuzz' in
|
||||
'git-apply'.
|
||||
|
||||
* Allow 'git apply' to accept GNU diff 2.7 output that forgets
|
||||
to say '\No newline' if both input ends with incomplete
|
||||
lines.
|
||||
|
||||
* Maybe grok PGP signed text/plain in applymbox as well.
|
||||
|
||||
* Perhaps a tool to revert a single file to pre-modification
|
||||
@ -175,18 +155,6 @@ Technical (milder)
|
||||
the command be called? git-revert is taken so is
|
||||
git-checkout.
|
||||
|
||||
* A tool to detect, show and prune already merged topic
|
||||
branches [DONE; 'branch -d' to prune; users can do gitk for
|
||||
deciding].
|
||||
|
||||
* "Lost and Found"; link dangling commits found by fsck-objects
|
||||
under $GIT_DIR/refs/lost-found/. Then show-branch or gitk can
|
||||
be used to find any lost commit.
|
||||
|
||||
Do not name it /lost+found/; that would probably confuse
|
||||
things that mistake it a mount point (not our code but
|
||||
somebody else's).
|
||||
|
||||
* Enhance "git repack" to not always use --all; this would be
|
||||
handy if the repository contains wagging heads like "pu" in
|
||||
git.git repository.
|
||||
@ -197,15 +165,6 @@ Technical (milder)
|
||||
repository; experiment if this results in a reasonable
|
||||
workflow, and document it in howto form if it does.
|
||||
|
||||
* Option to limit rename detection for more than N paths.
|
||||
|
||||
* diffcore-rename leak reintroduced because the 'fix' was
|
||||
broken [DONE].
|
||||
|
||||
* Marking copy seems to be broken when A,B => B,C rename
|
||||
happens; we incorrectly say B stays, which makes the new B
|
||||
copy of old A, not rename [DONE].
|
||||
|
||||
* Make rebase restartable; instead of skipping what cannot be
|
||||
automatically forward ported, leave the conflicts in the work
|
||||
tree, have the user resolve it, and then restart from where it
|
||||
@ -215,30 +174,33 @@ Technical (milder)
|
||||
just the basename, and see the improved clustering results in
|
||||
better packing [Tried, but did not work out well].
|
||||
|
||||
* Allow 'git apply' to accept GNU diff 2.7 output that forgets
|
||||
to say '\No newline' if both input ends with incomplete
|
||||
lines.
|
||||
* Remove obsolete commands [READY].
|
||||
|
||||
* Option to limit rename detection for more than N paths [READY].
|
||||
|
||||
* Option to show only status and name from diff [READY].
|
||||
|
||||
|
||||
Technical (trivial)
|
||||
-------------------
|
||||
|
||||
* Add simple globbing rules for git-show-branch so that I can
|
||||
* 'git add --recursive'?
|
||||
|
||||
* 'git merge-projects'?
|
||||
|
||||
* 'git lost-and-found'? Link dangling commits found by
|
||||
fsck-objects under $GIT_DIR/refs/lost-found/. Then
|
||||
show-branch or gitk can be used to find any lost commit. [A
|
||||
feeler patch sent out. Very underwhelming response X-<.]
|
||||
|
||||
Do not name it /lost+found/; that would probably confuse
|
||||
things that mistake it a mount point (not our code but
|
||||
somebody else's).
|
||||
|
||||
* Add simple globbing rules to git-show-branch so that I can
|
||||
say 'git show-branch --heads "ko-*"' (ko-master, ko-pu, and
|
||||
ko-rc are in refs/tags/).
|
||||
|
||||
* Deal with CDPATH [DONE].
|
||||
|
||||
* Teach 'git format-patch' about 'git cherry' [DONE].
|
||||
|
||||
* Make 'git bisect' easier to use by logging the earlier
|
||||
good/bad choices and make it replayable [DONE].
|
||||
|
||||
* Perhaps "git branch -d" to delete a branch. We probably need
|
||||
some way to say "delete this branch because everything in this
|
||||
should be merged in the master branch" and refuse the removal
|
||||
if it is not true [DONE].
|
||||
|
||||
* We would want test scripts for the relative directory path
|
||||
stuff Linus has been working on. So far, the following
|
||||
commands should be usable with relative directory paths:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user