You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

222 lines
7.0 KiB

What to expect after 0.99.5
===========================
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
-------------
* Accept patches from people who actually have done CVS
migration and update the cvs-migration documentation.
Link the documentation from the main git.txt page.
* Link howto docs from the git.txt page. [DONE]
* Update the SubmittingPatches document to add MUA specific
hints on how to disable unwanted MIME and flowed-text by
collecting past list postings [DONE].
* Accept patches from people who were hit by shiny blue bat to
update the SubmittingPatches [ONGOING].
* Talk about using rsync just once at the beginning when
initializing a remote repository so that local packs do not
need to be expanded. I personally do not think we need tool
support for this (but see below about optimized cloning).
* Review the existing docs and see if the repository
organization needs to be clarified further [DONE].
* Update tutorial to cover shared repository style a bit more
[DONE].
* Maybe update tutorial with a toy project that involves two or
three developers..
* Document the hooks [DONE].
* Update tutorial to cover setting up repository hooks to do
common tasks.
* Get help to properly use asciidoc in tutorial [Heck, ended up
learning it myself, DONE].
* Maybe justify and demonstrate an Octopus in the tutorial
[STILL NEEDSWORK].
* Add Octopus to the glossary [Thanks Johannes, DONE].
Technical (heavier)
-------------------
* Tony Luck reported an unfortunate glitch in the 3-way merge.
Encourage discussions to come up with a not-so-expensive way
to catch the kind of ambiguities that led to his misery.
[Daniel's patch looks quite promising.]
* HPA has two projects, klibc and klibc-kbuild, that have large
set of overlapping files in different paths (i.e. one has many
renames from the other). There currently is no way for git to
help keep these two trees in sync, merging criss-cross between
them. The merge logic should be able to take advantage of
rename/copy detection smarts git-diff-* family has [Discussion
ongoing].
* 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.
* Maybe a pack optimizer. I am not convinced that packing all
objects into a single pack and removing all the existing panck
is the right way to go, since that would work against people
who already have those packs.
* Maybe an Emacs VC backend.
Technical (milder)
------------------
* When the branch head pointed by $GIT_DIR/HEAD changes while
the index file and working tree are looking the other way
(e.g. somebody pushed into your repository, or you ran "git
fetch" to update the ref your working tree is on), "git
checkout" without -f gets confused. Figure out a good way to
handle this. [DONE]
* We still have the same issue with "git fetch". Fetching into
the branch one is on _may_ need to do the same thing as
fetching into anonymous head and then do the resolve. At
least it needs a warning. [DONE]
* "git commit -m" should work for initial commits and perhaps
merge commits as well. Warning about merge is still a good
thing to do, while -m is useful in scripted non-interactive
use, so we need to be careful. [DONE]
* Encourage concrete proposals to commit log message templates
we discussed some time ago.
* Test apply.c patches from Robert Fitzsmons and have them
graduate to "master" branch [IN PROGRESS].
* Test read-tree reorganization patches from Daniel and have
them graduate to "master" branch [TESTED].
* Bug Ryan and work with him to update send-email easier to use.
[Ryan's patch pushed into "master". Will see how well it is
accepted.]
* Look at portability fixes from Jason Riedy
http://www.cs.berkeley.edu/~ejr/gits/git.git#portable
[Applied. Burned by one of them and backed out, but otherwise
looks OK.]
* Accept patches to cause "read-tree -u" delete a directory when
it makes it empty.
* Perhaps accept patches to introduce the concept of "patch flow
expressed as ref mappings" Josef has been advocating about.
* Perhaps accept patches to do undo/redo.
* MIMEified applymbox to grok B and Q encodings in headers and
turn them into UTF-8; unwrap QP; explode multipart. [DONE]
* Maybe grok PGP signed text/plain in applymbox as well.
* Perhaps a tool to revert a single file to pre-modification
state? git-cat-file blob `git-ls-files | grep foo` >foo or
git-cat-file blob `git-ls-tree HEAD foo` >foo? What should
the command be called? git-revert is taken so is
git-checkout.
* "git cherry-pick" that applies the patch an existing commit
introduces in its ancestry chain, possibly using the 3-way
merge machinery. [DONE]
* Update rebase using the cherry-pick command. [DONE]
* Redo "git revert" using 3-way merge machinery. [DONE]
* A tool to detect, show and prune already merged topic
branches.
* Set up an automated documentation rebuilding procedure at
kernel.org, using update hook mechanism. [DONE]
* Describe automated documentation rebuilding in a howto form
[DONE].
* Enhance "git repack" to not always use --all; this would be
handy if the repository contains wagging heads like "pu" in
git.git repository.
20 years ago
* Accept and apply "git repack --all" patch, except the part
that removes the existing packs. [DONE]
20 years ago
* Internally split the project into non-doc and doc parts; add
an extra root for the doc part and merge from it; move the
internal doc source to a separate repository, like the +Meta
repository; experiment if this results in a reasonable
workflow, and document it in howto form if it does.
* Add names to all nodes in show-branch [DONE].
* Option to limit rename detection for more than N paths.
* Tool renames. [Discussion almost concluded, scheduled to
happen 0.99.7 with backward compatibility links, removing them
in 0.99.8.]
Technical (trivial)
-------------------
* Look at and merge Debian fixes from Tommi [Done].
* Perhaps "git branch -d" to delete a branch.
* Remove "git clone-dumb-http" [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:
update-cache
ls-files
diff-files
diff-cache
diff-tree
rev-list
rev-parse
Initial repository Gotchas
--------------------------
* `git fetch foo:bar` works OK, but `git checkout bar`
afterwards does not (missing `.git/HEAD`).
* `git commit -s` did not add signoff for initial commit [DONE].
* `git status` does not work well when missing `.git/HEAD` [DONE].
* `git log` either; git-log-script uses die which does not exist
[DONE].
Local Variables:
mode: text
End: