Re: What's cooking in git.git (topics)
- From
Julian Phillips <julian@quantumfyre.co.uk>
- Date
- Mar 13, 2007, 18:49 UTC
- Message-ID
- <Pine.LNX.4.64.0703131837280.18274@reaper.quantumfyre.co.uk>
- In-Reply-To
- <7vps7dle8j.fsf@assigned-by-dhcp.cox.net>
On Tue, 13 Mar 2007, Junio C Hamano wrote:
Show 24 quoted lines
> * jc/fetch (Sun Mar 4 15:36:08 2007 -0800) 15 commits > + .gitignore: add git-fetch--tool > + builtin-fetch--tool: fix reflog notes. > + git-fetch: retire update-local-ref which is not used anymore. > + builtin-fetch--tool: make sure not to overstep ls-remote-result > buffer. > + fetch--tool: fix uninitialized buffer when reading from stdin > + builtin-fetch--tool: adjust to updated sha1_object_info(). > + git-fetch--tool takes flags before the subcommand. > + Use stdin reflist passing in git-fetch.sh > + Use stdin reflist passing in parse-remote > + Allow fetch--tool to read from stdin > + git-fetch: rewrite expand_ref_wildcard in C > + git-fetch: rewrite another shell loop in C > + git-fetch: move more code into C. > + git-fetch--tool: start rewriting parts of git-fetch in C. > + git-fetch: split fetch_main into fetch_dumb and fetch_native > > This is a partial C rewrite of heaviest part of git-fetch to > help fetching between repositories with hundreds of refs. I do > not like the way it is split, but it may be a good idea to throw > it in 'master' as it does not seem to regress anything and see > if there are other interested people who want to finish the > rewriting.
As it happens I was planning to start looking at writing a builtin fetch when I got home this evening ... the fetch--tool improvements have whetted my appetite for speed ... ;)
Show 12 quoted lines
> * sb/fetch (Mon Mar 12 19:01:11 2007 -0700) 19 commits > + git-fetch.sh:append_fetch_head() no longer has a remote_nick > argument > + git-fetch: Split fetch and merge logic > > I have a soft spot to anything that claims to be a clean-up, but > I suspect that the shell loop this series introduces may defeat > the git-fetch--tool optimization. Also I think having to base > the patch on this made Paolo's "dot is special token to mean > 'git pull' merges from a local branch" needlessly complex (but I > haven't tried rewriting it myself without these two). Although > I merged these to 'next', I am considering to revert them.
I found that this series did introduce a regression, but not a serious one. A null fetch went from ~30s to ~40s IIRC. I moved canon_refs_list_for_fetch from git-parse-remote.sh to git-fetch--tool in response, and was pretty much able to get back to where I was before - I can send the patch if you want, I didn't think it that important.
-- Julian --- The new Congressmen say they're going to turn the government around. I hope I don't get run over again.