What's cooking in git.git (topics)
- Date: Mon, 05 May 2008 23:38:24 -0700
- From: Junio C Hamano <gitster@xxxxxxxxx>
- Subject: What's cooking in git.git (topics)
Here are the topics that have been cooking. Commits prefixed
with '-' are only in 'pu' while commits prefixed with '+' are
in 'next'.
The topics list the commits in reverse chronological order.
It's been a while since the last issue of this series. I've been
swamped, and haven't had a chance to spend enough time on reviewing and
accepting patches.
A good news is that the tip of 'pu' tonight passes all the test --- it has
been broken for some time.
A rough timeline from now on.
* Discussion and review on new feature and enhancement patch series
begins. Please resubmit things that you were cooking in your head
during 1.5.5-rc period after cleaning up and retesting.
* 1.5.6 merge window closes (2008-05-14).
* Fixes of 'master' continues; 1.5.6-rc0 gets tagged (2008-05-21).
* 1.5.6 Final (2008-06-08).
----------------------------------------------------------------
[New Topics]
* bd/tests (Sun May 4 01:38:00 2008 -0400) 10 commits
+ Rename the test trash directory to contain spaces.
+ Fix tests breaking when checkout path contains shell
metacharacters
+ Don't use the 'export NAME=value' in the test scripts.
+ lib-git-svn.sh: Fix quoting issues with paths containing shell
metacharacters
+ test-lib.sh: Fix some missing path quoting
+ Use test_set_editor in t9001-send-email.sh
+ test-lib.sh: Add a test_set_editor function to safely set $VISUAL
+ git-send-email.perl: Handle shell metacharacters in $EDITOR
properly
+ config.c: Escape backslashes in section names properly
+ git-rebase.sh: Fix --merge --abort failures when path contains
whitespace
Making sure the tools quote paths correctly and work inside a directory
whose pathname contains whitespace. Thanks Bryan, and thanks J6t for
reviewing and testing.
* np/pack (Fri May 2 15:11:51 2008 -0400) 7 commits
+ pack-objects: fix early eviction for max depth delta objects
+ pack-objects: allow for early delta deflating
+ pack-objects: move compression code in a separate function
+ pack-objects: clean up write_object() a bit
+ pack-objects: simplify the condition associated with --all-
progress
+ pack-objects: remove some double negative logic
+ pack-objects: small cleanup
Every time Nico tweaks pack generation, something good comes out ;-).
* py/diff-submodule (Sat May 3 17:24:28 2008 -0700) 5 commits
+ is_racy_timestamp(): do not check timestamp for gitlinks
+ diff-lib.c: rename check_work_tree_entity()
+ diff: a submodule not checked out is not modified
+ Add t7506 to test submodule related functions for git-status
+ t4027: test diff for submodule with empty directory
A submodule that is not checked out is not modified, but was mistaken as
being removed. Thanks Ping for tests and fixes.
* cc/hooks-doc (Fri May 2 05:30:47 2008 +0200) 1 commit
- Documentation: rename "hooks.txt" to "githooks.txt" and make it a
man page
I've looked at but not applied most of the patches in the series that
built on top of this. I think it probably is a good goal to make
everything _accessible_ as manual pages, but at the same time I do not
exactly like the HTML rendered results of material that are not really
manual pages. E.g. "Everyday" looks much worse to me.
At least, the categorization of sections 1/5/7 should be straightened
out. diffcore is not about "file format" at all and do not belong to
section 5, for example.
* pb/push (Mon Apr 28 11:32:12 2008 -0400) 1 commit
- add special "matching refs" refspec
This first patch is a good enhancement without hurting any existing users.
We need a staged introduction of the second and later patches, and many
people including me did not agree the later ones in the series are
desirable.
* mv/format-cc (Tue Apr 29 12:56:47 2008 +0200) 3 commits
+ Add tests for sendemail.cc configuration variable
+ git-send-email: add a new sendemail.cc configuration variable
+ git-format-patch: add a new format.cc configuration variable
* as/graph (Mon May 5 00:57:03 2008 -0700) 4 commits
- graph API: eliminate unnecessary indentation
- log and rev-list: add --graph option
- Add history graph API
- revision API: split parent rewriting and parent printing options
Draw "tig 'g'" graph without tig ;-)
* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 4 commits
- diff: enable "too large a rename" warning when -M/-C is explicitly
asked for
+ diff: make "too many files" rename warning optional
+ bump rename limit defaults
+ add merge.renamelimit config option
The documentation part of this series partly depends on another series,
but I am expecting both to graduate smoothly to 'master' reasonably soon.
* sv/first-parent (Sun Apr 27 19:32:46 2008 +0200) 1 commit
+ Simplify and fix --first-parent implementation
* gp/bisect-fix (Mon May 5 07:43:00 2008 +0000) 1 commit
+ git-bisect.sh: don't accidentally override existing branch
"bisect"
----------------------------------------------------------------
[Graduated to "master"]
* pb/remote-mirror-config (Thu Apr 17 13:17:20 2008 +0200) 1 commit
+ Add a remote.*.mirror configuration option
* lh/branch-merged (Fri Apr 18 18:30:15 2008 +0200) 3 commits
+ Add tests for `branch --[no-]merged`
+ git-branch.txt: compare --contains, --merged and --no-merged
+ git-branch: add support for --merged and --no-merged
* jk/fetch-status (Wed Apr 9 20:11:52 2008 -0400) 1 commit
+ git-fetch: always show status of non-tracking-ref fetches
This changes reporting behaviour of one-shot "git pull $url $branch",
which would affect long-time users in integrator role (that's you, Linus
;-). Let's see if we hear anybody screaming.
* lh/git-file (Wed Feb 20 23:13:16 2008 +0100) 4 commits
+ Teach GIT-VERSION-GEN about the .git file
+ Teach git-submodule.sh about the .git file
+ Teach resolve_gitlink_ref() about the .git file
+ Add platform-independent .git "symlink"
There was a GSoC project idea to enhance "git submodule" to take advantage
of this facility to preserve the subrepository while switching between a
revision with a submodule and another before the submodule was bound to
the superproject, but it appears nobody took it.
* bc/filter-branch (Wed Mar 26 10:47:09 2008 -0500) 1 commit
+ filter-branch.sh: support nearly proper tag name filtering
Instead of discarding annotated and/or signed tags, this keeps them and
demotes the signed ones to simply annotated. It issues warning when it
does this demotion. I think the behaviour is sensible.
* jc/lstat (Sun Mar 30 12:39:25 2008 -0700) 2 commits
+ diff-files: mark an index entry we know is up-to-date as such
+ write_index(): optimize ce_smudge_racily_clean_entry() calls with
CE_UPTODATE
Further reduce redundant lstat(2) calls during "git status" and other
common operations.
----------------------------------------------------------------
[Will merge to "master" soonish]
* lt/dirmatch-optim (Sat Apr 19 14:22:38 2008 -0700) 1 commit
+ Optimize match_pathspec() to avoid fnmatch()
* dm/cherry-pick-s (Sat Apr 26 15:14:28 2008 -0500) 1 commit
+ Allow cherry-pick (and revert) to add signoff line
* cc/help (Fri Apr 25 08:25:41 2008 +0200) 5 commits
+ documentation: web--browse: add a note about konqueror
+ documentation: help: add info about "man.<tool>.cmd" config var
+ help: use "man.<tool>.cmd" as custom man viewer command
+ documentation: help: add "man.<tool>.path" config variable
+ help: use man viewer path from "man.<tool>.path" config var
* jn/webfeed (Sun Apr 20 22:09:48 2008 +0200) 1 commit
+ gitweb: Use feed link according to current view
----------------------------------------------------------------
[Actively Cooking]
* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
+ Use perl instead of tac
+ Fix t3404 assumption that `wc -l` does not use whitespace.
+ rebase -i: Use : in expr command instead of match.
+ rebase -i: update the implementation of 'mark' command
+ Add option --preserve-tags
+ Teach rebase interactive the tag command
+ Add option --first-parent
+ Do rebase with preserve merges with advanced TODO list
+ Select all lines with fake-editor
+ Unify the length of $SHORT* and the commits in the TODO list
+ Teach rebase interactive the merge command
+ Move redo merge code in a function
+ Teach rebase interactive the reset command
+ Teach rebase interactive the mark command
+ Move cleanup code into it's own function
+ Don't append default merge message to -m message
+ fake-editor: output TODO list if unchanged
This may complement the proposed "sequencer" GSoC project. Dscho seems to
have quite a strong objection to the 'mark' syntax and mechanism being
unnecessarily complex. Let's wait and see if a less complex but equally
expressive alternative materializes...
* db/learn-HEAD (Sat Apr 26 15:53:12 2008 -0400) 2 commits
+ Make ls-remote http://... list HEAD, like for git://...
+ Make walker.fetch_ref() take a struct ref.
* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 6 commits
- merge: remove deprecated summary and diffstat options and config
variables
+ merge, pull: add '--(no-)log' command line option
+ fmt-merge-msg: add '--(no-)log' options and 'merge.log' config
variable
+ add 'merge.stat' config variable
+ merge, pull: introduce '--(no-)stat' option
+ doc: moved merge.* config variables into separate merge-config.txt
The last one needs to be held back, as it actually removes the support for
features that the main part of the series deprecates, until 1.6.0 or
later.
* jc/blame (Wed Apr 2 22:17:53 2008 -0700) 5 commits
+ git-blame --reverse
+ builtin-blame.c: allow more than 16 parents
+ builtin-blame.c: move prepare_final() into a separate function.
+ rev-list --children
+ revision traversal: --children option
The blame that finds where each line in the original lines moved to.
This may help a GSoC project that wants to gather statistical overview of
the history.
* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
+ "git push": tellme-more protocol extension
Allows common ancestor negotiation for git-push to help people with shared
repository workflow in certain minority situations. The lack of protocol
support has been bugging me for quite some time, and that was the reason I
did this. There recently was a problem report that had a scent of this
issue which turned out to be a false alarm (it was about http-push which
does not do the native pack protocol optimization and the reporter was
pushing into an empty repository which needs full transfer anyway).
* lt/case-insensitive (Sat Mar 22 14:22:44 2008 -0700) 9 commits
+ Make git-add behave more sensibly in a case-insensitive
environment
+ When adding files to the index, add support for case-independent
matches
+ Make unpack-tree update removed files before any updated files
+ Make branch merging aware of underlying case-insensitive
filsystems
+ Add 'core.ignorecase' option
+ Make hash_name_lookup able to do case-independent lookups
+ Make "index_name_exists()" return the cache_entry it found
+ Move name hashing functions into a file of its own
+ Make unpack_trees_options bit flags actual bitfields
The beginning of case insensitive filesystem support, currently
ASCII-only.
----------------------------------------------------------------
[Dropped]
* ap/svn (Tue Apr 15 21:04:18 2008 -0400) 3 commits
. git-svn: add documentation for --add-author-from option.
. git-svn: Add --add-author-from option.
. git-svn: add documentation for --use-log-author option.
Eric requested a new set of tests for this series which never came. I am
still holding onto the tip of the topic in case we can resurrect it, but
it is not merged to 'pu'.
----------------------------------------------------------------
[On Hold]
* nd/dashless (Wed Nov 28 23:21:57 2007 +0700) 1 commit
- Move all dashed-form commands to libexecdir
Scheduled for 1.6.0.
* db/clone-in-c (Sun Apr 27 13:39:30 2008 -0400) 8 commits
- Build in clone
- Provide API access to init_db()
- Add a function to set a non-default work tree
- Allow for having for_each_ref() list extra refs
- Have a constant extern refspec for "--tags"
- Add a library function to add an alternate to the alternates file
- Add a lockfile function to append to a file
- Mark the list of refs to fetch as const
I'd really want this in 1.5.6; will merge to 'next' after giving a final
pass sometime this week.
* ar/batch-cat (Wed Apr 23 15:17:47 2008 -0400) 5 commits
- git-cat-file: Add --batch option
- git-cat-file: Add --batch-check option
- git-cat-file: Make option parsing a little more flexible
- git-cat-file: Small refactor of cmd_cat_file
- Add tests for git cat-file
I fixed up the problematic shell script in the first patch in the series
but later one introduced the same problematic constructs in another file,
at which point I gave up and discarded the rest. At least it now passes
its own testsuite without breaking others.
* jc/test (Thu Feb 21 21:17:54 2008 -0800) 2 commits
- tests: convert "cmp" and "cmp -s" to test_cmp
- tests: test_cmp helper function
This one may be more elaborate, but Jeff's patch is much simpler.
* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
- Prepare execv_git_cmd() for removal of builtins from the
filesystem
- git-shell: accept "git foo" form
We do not plan to remove git-foo form completely from the filesystem at
this point, but git-shell may need to be updated.
* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
- WIP: rethink replay merge
- Start using replay-tree merge in cherry-pick
- revert/cherry-pick: start refactoring call to merge_recursive
This is meant to improve cherry-pick's behaviour by not using
merge-recursive, but unfortunately has stalled for some time now.
* jc/lstat-debug (Thu Mar 27 16:56:53 2008 -0700) 1 commit
- lstat: introduce a wrapper xlstat
* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
- git-am --forge: add Signed-off-by: line for the author
- git-am: clean-up Signed-off-by: lines
- stripspace: add --log-clean option to clean up signed-off-by:
lines
- stripspace: use parse_options()
- Add "git am -s" test
- git-am: refactor code to add signed-off-by line for the committer
Just my toy at this moment.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html