mirror of
https://github.com/git/git.git
synced 2026-01-14 12:48:15 +00:00
112
HAVEDONE
112
HAVEDONE
@@ -1,48 +1,96 @@
|
||||
Done in 0.99.8
|
||||
Done in 0.99.9
|
||||
==============
|
||||
|
||||
New Features and Commands
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Ports
|
||||
~~~~~
|
||||
|
||||
* 'git pull' now uses 'git-merge' instead of 'git-resolve', so you can
|
||||
specify alternative merge strategy to use on its command line.
|
||||
* Cygwin port [HPA].
|
||||
|
||||
* 'git pull -s recursive' has been taught about renaming merges,
|
||||
which may deal with HPA's klibc vs klibc-kbuild situation better.
|
||||
|
||||
* Symbolic refs -- instead of using symlinks to express .git/HEAD,
|
||||
you can have a regular file that stores a single line
|
||||
'ref: refs/heads/master' in it.
|
||||
|
||||
git-update-ref is the preferred way to write into .git/HEAD,
|
||||
not "echo >.git/HEAD". git-symbolic-ref is the preferred way
|
||||
to check which underlying ref a symbolic ref .git/HEAD refers
|
||||
to, not "readlink .git/HEAD".
|
||||
|
||||
* A couple of new diff options (-l<num> and --name-status).
|
||||
|
||||
* Commit walker over http acquired more SSL options.
|
||||
|
||||
* 'git clone' checks out the working tree by default.
|
||||
* OpenBSD build [Merlyn and others].
|
||||
|
||||
|
||||
Fixes
|
||||
~~~~~
|
||||
|
||||
* Removed unused commands (diff-helper, rev-tree, and export).
|
||||
* clone request over git native protocol from a repository with
|
||||
too many refs did not work; this has been fixed.
|
||||
|
||||
* Platforms with only Python 2.3 installed can use recursive merge
|
||||
strategy.
|
||||
* git-daemon got safer for kernel.org use [HPA].
|
||||
|
||||
* Octopus documented.
|
||||
* Extended SHA1 parser was not enforcing uniqueness for
|
||||
abbreviated SHA1; this has been fixed.
|
||||
|
||||
* Merge is more careful noticing potentially ambiguous situation.
|
||||
* http transport does not barf on funny characters in URL.
|
||||
|
||||
* Git pull does not blindly do Octopus when Pull: lines in remotes
|
||||
file specifies more than one remote branches.
|
||||
* The ref naming restrictions have been formalized and the
|
||||
coreish refuses to create funny refs; we still need to audit
|
||||
importers. See git-check-ref-format(1).
|
||||
|
||||
* Commit walker got safer to use after interrupted downloads.
|
||||
|
||||
* Commit walker over http can resume partial downloads.
|
||||
New Features and Commands
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* .git/config file as a per-repository configuration mechanism,
|
||||
and some commands understand it [Linus]. See
|
||||
git(7).
|
||||
|
||||
* The core.filemode configuration item can be used to make us a
|
||||
bit more FAT friendly. See git(7).
|
||||
|
||||
* The extended SHA1 notation acquired Peel-the-onion operator
|
||||
^{type} and ^{}. See git-rev-parse(1).
|
||||
|
||||
* SVN importer [Matthias]. See git-svnimport(1).
|
||||
|
||||
* .git/objects/[0-9a-f]{2} directories are created on demand,
|
||||
and removed when becomes empty after prune-packed [Linus].
|
||||
|
||||
* Filenames output from various commands without -z option are
|
||||
quoted when they embed funny characters (TAB and LF) using
|
||||
C-style quoting within double-quotes, to match the proposed
|
||||
GNU diff/patch notation [me, but many people contributed in
|
||||
the discussion].
|
||||
|
||||
* git-mv is expected to be a better replacement for git-rename.
|
||||
While the latter has two parameter restriction, it acts more
|
||||
like the regular 'mv' that can move multiple things to one
|
||||
destinatino directory [Josef Weidendorfer].
|
||||
|
||||
* git-checkout can take filenames to revert the changes to
|
||||
them. See git-checkout(1)
|
||||
|
||||
* The new program git-am is a replacement for git-applymbox that
|
||||
has saner command line options and a bit easier to use when a
|
||||
patch does not apply cleanly.
|
||||
|
||||
* git-ls-remote can show unwrapped onions using ^{} notation, to
|
||||
help Cogito to track tags.
|
||||
|
||||
* git-merge-recursive backend can merge unrelated projects.
|
||||
|
||||
* git-clone over native transport leaves the result packed.
|
||||
|
||||
* git-http-fetch issues multiple requests in parallel when
|
||||
underlying cURL library supports it [Nick and Daniel].
|
||||
|
||||
* git-fetch-pack and git-upload-pack try harder to figure out
|
||||
better common commits [Johannes].
|
||||
|
||||
* git-read-tree -u removes a directory when it makes it empty.
|
||||
|
||||
* git-diff-* records abbreviated SHA1 names of original and
|
||||
resulting blob; this sometimes helps to apply otherwise an
|
||||
unapplicable patch by falling back to 3-way merge.
|
||||
|
||||
* git-format-patch now takes series of from..to rev ranges and
|
||||
with '-m --stdout', writes them out to the standard output.
|
||||
This can be piped to 'git-am' to implement cheaper
|
||||
cherry-picking.
|
||||
|
||||
* git-tag takes '-u' to specify the tag signer identity [Linus].
|
||||
|
||||
* git-rev-list can take optional pathspecs to skip commits that
|
||||
do not touch them (--dense) [Linus].
|
||||
|
||||
* Comes with new and improved gitk [Paulus and Linus].
|
||||
|
||||
* More portability fixes for BSD and Solaris.
|
||||
|
||||
111
TODO
111
TODO
@@ -9,15 +9,15 @@ The GIT To-Do File
|
||||
Tool Renames Plan
|
||||
=================
|
||||
|
||||
- In 0.99.9, the backward compatible symbolic links in
|
||||
$(bindir) will be removed.
|
||||
- Immedately after 0.99.9, the backward compatible symbolic
|
||||
links in $(bindir) will be removed.
|
||||
|
||||
git-ssh-push and git-ssh-pull pair is not going away if ever.
|
||||
Each of these old-name commands continues to invoke its
|
||||
old-name counterpart on the other end.
|
||||
|
||||
|
||||
What to expect after 0.99.8
|
||||
What to expect after 0.99.9
|
||||
===========================
|
||||
|
||||
This is written in a form of to-do list for me, so if I say
|
||||
@@ -31,12 +31,6 @@ patch, perhaps ;-).
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
* Document the ref naming restrictions [DONE].
|
||||
|
||||
* David Ho's report suggests whatchanged documentation should
|
||||
mention -m as "commonly used options". Steal Linus'
|
||||
response [DONE].
|
||||
|
||||
* Help Jon Loeliger to find place in the documentation to place
|
||||
his drawing.
|
||||
|
||||
@@ -68,14 +62,6 @@ Documentation
|
||||
Technical (heavier)
|
||||
-------------------
|
||||
|
||||
* 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
|
||||
file for this. Also this itself may turn out to be a bad
|
||||
idea, making the set of packs in repositories everybody has
|
||||
different from each other. [DONE; git-index-pack by Sergey,
|
||||
tweaking clone by me]
|
||||
|
||||
* Git daemon, when deployed at kernel.org, might turn out to be
|
||||
quite a burden, since it needs to generate customized packs
|
||||
every time a new request comes in. It may be worthwhile to
|
||||
@@ -111,20 +97,12 @@ Technical (heavier)
|
||||
[Daniel has his own diff tool almost ready to start
|
||||
integrating and testing; Post 1.0]
|
||||
|
||||
* Accept patches to fetch multiple objects by HTTP in parallel.
|
||||
[DONE]
|
||||
|
||||
* Plug-in file-level merges [Post 1.0].
|
||||
|
||||
* Per-repository configuration mechanism [DONE by Linus].
|
||||
|
||||
|
||||
Technical (milder)
|
||||
------------------
|
||||
|
||||
* Merlyn reports trouble with http fetch [Hopefully solved by
|
||||
Nick's updates].
|
||||
|
||||
* Maybe look at Cogito and see if I can help Pasky to adjust to
|
||||
the later core features? Zack Brown's "cg-seek leaving empty
|
||||
directories" problem is a good example of this.
|
||||
@@ -132,46 +110,9 @@ Technical (milder)
|
||||
* Perhaps detect cloning request in upload-pack and cache the
|
||||
result for next cloning request until any of our refs change.
|
||||
|
||||
* Perhaps accept more "want"s in upload-pack and do something
|
||||
intelligent about it [Ongoing, by Johannes].
|
||||
|
||||
* Perhaps send less "want"s from fetch-pack [DONE by JS].
|
||||
|
||||
* Look at svn importer Smurf has. There is a small cvsimport
|
||||
update in his tree as well [DONE].
|
||||
|
||||
* Decide the notation of "peeling the onion" operator, and
|
||||
implement it in sha1_name.c. Perhaps postfix "^{}" to mean
|
||||
"peel and expect anything", "^{blob}" to mean "peel and barf
|
||||
unless blob". The current "^0" becomes shorthand for
|
||||
"^{commit}". [DONE]
|
||||
|
||||
* Quote the URL so that libcurl's metecharacter mechanism would
|
||||
not kick in [DONE].
|
||||
|
||||
* Review the Makefile variables and exporting rules for them,
|
||||
while looking at prefix passing by Kai Ruemmler [DONE].
|
||||
|
||||
* Review the 'sparse object database' change by Linus and move
|
||||
the first phase of it to the "master" branch [DONE].
|
||||
|
||||
* Decide on mmap(). I am inclined to just stick to mmap
|
||||
replacement by Johannes Schindelin and do nothing else right
|
||||
now, except perhaps drop the writing-back support [DONE].
|
||||
|
||||
* Revisit Santi's patch to move commit temorary files out of the
|
||||
working tree toplevel [DONE].
|
||||
|
||||
* More generally, review the use of temporary files again.
|
||||
Assuming writable $GIT_DIR is more acceptable, but the
|
||||
working tree toplevel may not be in a rare usage pattern.
|
||||
|
||||
* Encourage concrete proposals to commit log message templates
|
||||
we discussed some time ago.
|
||||
|
||||
* Accept patches to cause "read-tree -u" delete a directory when
|
||||
it makes it empty [DONE].
|
||||
|
||||
* Perhaps accept patches to do undo/redo.
|
||||
|
||||
* Perhaps accept patch to optionally allow '--fuzz' in
|
||||
@@ -181,22 +122,8 @@ Technical (milder)
|
||||
to say '\No newline' if both input ends with incomplete
|
||||
lines.
|
||||
|
||||
* What to do with TABs and LFs in pathnames without breaking GNU
|
||||
patch? [DONE -- go with GNU patch extension proposed by Paul].
|
||||
|
||||
* Adjust apply.c to proposed GNU patch extension that quotes \n
|
||||
and \t in C style, inside "". [DONE]
|
||||
|
||||
* Adjust diff.c to the same. [DONE]
|
||||
|
||||
* Maybe grok PGP signed text/plain in applymbox as well.
|
||||
|
||||
* Perhaps a tool to revert a single file to pre-modification
|
||||
state? People with BK background know this operation as
|
||||
'clean'. 'git checkout [-f] ent [path...]' was suggested by
|
||||
Matthias Urlichs which sounds a natural extention to what the
|
||||
command currently does [DONE with a prodding by Linus].
|
||||
|
||||
* Enhance "git repack" to not always use --all; this would be
|
||||
handy if the repository contains wagging heads like "pu" in
|
||||
git.git repository.
|
||||
@@ -214,42 +141,10 @@ Technical (milder)
|
||||
external spec sent out with a quick hack. Will know if that
|
||||
is what he needs hopefully soon].
|
||||
|
||||
* An mechanism to ignore filesystem mode bits altogether [DONE].
|
||||
|
||||
|
||||
Technical (trivial)
|
||||
-------------------
|
||||
|
||||
* Peter Hagervall's sparse fix [DONE].
|
||||
|
||||
* Alex Riesen reported that hooks are in effect in tests.
|
||||
Should fix [DONE].
|
||||
|
||||
* Disallow [\001-\040\177] byte values from ref names. Also we
|
||||
need to disallow ':' (used in refspec), '^' and '~' (postfix
|
||||
"peel the onion" operators), and '..' ("ref1..ref2" notation
|
||||
becomes ambiguous otherwise) [DONE].
|
||||
|
||||
* Update fetch-pack and clone-pack to ignore funny refs from the
|
||||
other end, while making sure peek-remote does not discard them.
|
||||
[DONE]
|
||||
|
||||
* Update upload-pack to send tag^{}. This would hopefully help
|
||||
Pasky's automated tag tracking, and also Martin's findtags.
|
||||
[DONE]
|
||||
|
||||
* Adjust update-index to quoted --index-info [DONE].
|
||||
|
||||
* Prepare apply.c changes for maint branch (0.99.8e) [DONE].
|
||||
|
||||
* Perhaps show ^{commit}, ^{tree} instead of ^{} from ls-remote? [NO]
|
||||
|
||||
* Re-adjust maint branch for the above if we did so. [NOT NEEDED]
|
||||
|
||||
* short SHA1 naming is not enforcing uniqueness. Should fix [DONE].
|
||||
|
||||
* 'git repack' can be DOSed. Should fix [DONE].
|
||||
|
||||
* Stop installing the old-name symlinks [IN 0.99.9].
|
||||
|
||||
* 'git merge-projects'?
|
||||
|
||||
Reference in New Issue
Block a user