# Michael Haggerty

GitHub: https://github.com/mhagger
Addresses: mhagger@alum.mit.edu
Messages: 4191. Patches: 2397. Threads started: 269.
First message: 2006-09-14T04:17:30Z. Latest: 2018-11-16T16:07:32Z.

## Messages per year

| Year | Messages | Patches |
|---|---|---|
| 2006 | 10 | 0 |
| 2007 | 23 | 0 |
| 2008 | 24 | 0 |
| 2009 | 52 | 22 |
| 2010 | 45 | 24 |
| 2011 | 507 | 329 |
| 2012 | 475 | 257 |
| 2013 | 488 | 250 |
| 2014 | 853 | 477 |
| 2015 | 564 | 316 |
| 2016 | 485 | 326 |
| 2017 | 628 | 385 |
| 2018 | 37 | 11 |

## Patch series

105 merged, 22 not merged, 0 in review (posted in the last 90 days); acceptance rate 83%. Re-rolls count once; merged means a patch matches a commit on master by the same author.

- 2018-01-24 merged: [Supplements to "packed_ref_cache: don't use mmap() for small files"](https://gitlist.dev/t/47606) commit 4a2854f77cc9
- 2017-11-05 merged (v2): [Tidy up the constants related to ref_update::flags](https://gitlist.dev/t/47120) commit b00f3cfa92d1
- 2017-10-28 merged (v2): [Avoid rewriting "packed-refs" unnecessarily](https://gitlist.dev/t/47051) commit 7c6bd25c7d65
- 2017-10-26 merged: [t0000: check whether the shell supports the "local" keyword](https://gitlist.dev/t/47032) commit 01d3a526ad9a
- 2017-10-24 merged: [Fix an error-handling path when locking refs](https://gitlist.dev/t/47020) commit 2e9de01aa0c4
- 2017-09-25 merged (v3): [Read `packed-refs` using mmap()](https://gitlist.dev/t/46825) commit 8738a8a4df9e
- 2017-09-15 not merged: [for_each_string_list_item(): behave correctly for empty list](https://gitlist.dev/t/46757)
- 2017-09-08 merged: [load_subtree(): check that `prefix_len` is in the expected range](https://gitlist.dev/t/46728) commit 396428152413
- 2017-09-08 merged (v2): [Implement transactions for the packed ref store](https://gitlist.dev/t/46727) commit 27d03d04d5b7
- 2017-08-26 merged: [Clean up notes-related code around `load_subtree()`](https://gitlist.dev/t/46672) commit 65eb8e0ca79d
- 2017-08-21 not merged: [Retry acquiring reference locks for 100ms](https://gitlist.dev/t/46639)
- 2017-08-17 merged: [files-backend: cheapen refname_available check when locking refs](https://gitlist.dev/t/46335) commit 8ec617c80cc3
- 2017-07-26 merged (v3): [Create a reference backend for packed refs](https://gitlist.dev/t/46303) commit 2f108821666a
- 2017-06-18 merged (v2): [Fix a refname trimming problem in `log --bisect`](https://gitlist.dev/t/46203) commit 03df567fbf6a
- 2017-06-12 merged: [Fix for mh/packed-ref-store-prep](https://gitlist.dev/t/46158) commit fed6ebebf132
- 2017-05-22 merged (v2): [Prepare to separate out a packed_ref_store](https://gitlist.dev/t/46021) commit 23739aa2b3d2
- 2017-04-16 merged (v3): [Separate `ref_cache` into a separate module](https://gitlist.dev/t/45708) commit 68fb02e40de2
- 2017-02-10 merged (v2): [Store submodules in a hash, not a linked list](https://gitlist.dev/t/45099) commit ba88add58176
- 2017-01-06 merged (v4): [Delete directories left empty after ref deletion](https://gitlist.dev/t/44825) commit 029443070a4e
- 2016-12-19 not merged: [gitk: tweak rendering of remote-tracking references](https://gitlist.dev/t/44735)
- 2016-09-05 merged (v3): [Better heuristics make prettier diffs](https://gitlist.dev/t/44005) commit 433860f3d0be
- 2016-09-04 merged (v2): [Virtualization of the refs API](https://gitlist.dev/t/44001) commit f6e75467ca83
- 2016-06-18 merged (v3): [Reference iterators](https://gitlist.dev/t/42647) commit 1354c9b2ded1
- 2016-06-16 merged (v2): [Improve test coverage of update-ref error messages](https://gitlist.dev/t/42573) commit bf0c6603ff80
- 2016-05-13 merged (v3): [Yet more preparation for reference backends](https://gitlist.dev/t/42250) commit e95792e532bd
- 2016-03-23 merged: [replacement for dt/refs-backend-lmdb v7 patch 04/33](https://gitlist.dev/t/41792) commit f86d8350c8c7
- 2015-12-23 not merged: [clone: use child_process for recursive checkouts](https://gitlist.dev/t/40926)
- 2015-11-10 merged (v8): [refs backend pre-vtable](https://gitlist.dev/t/40759) commit 9ef6eaa287b1
- 2015-08-12 merged (v2): [Introduce a tempfile module](https://gitlist.dev/t/40044) commit 1a9d15db2548
- 2015-07-28 merged: [Fix handling of remotes with single-character names](https://gitlist.dev/t/39961) commit c26f7d7b268c

## Recent emails

- 2018-11-16 [Re: [RFC/PATCH 0/5] stop installing old libexec aliases like "git-init"](https://gitlist.dev/e/CAMy9T_EVh5Xa7wZFRSM%2BuGAKV7WSPRALRRaZhPaj_bg9v7Ohfg%40mail.gmail.com)
- 2018-07-14 [Re: [PATCH 00/17] object_id part 14](https://gitlist.dev/e/CAMy9T_HuO1a1_R%2Bavedw-dmV4uWjOU9f0Hkrfo%3Dgk8HTXcA7AQ%40mail.gmail.com)
- 2018-07-03 [Re: [PATCH] xdiff: reduce indent heuristic overhead](https://gitlist.dev/e/CAMy9T_HUdszkq8c545puzCpjvh1pKAL7MWtnrZFagNndyyxK7A%40mail.gmail.com)
- 2018-07-01 [Re: [PATCH] xdiff: reduce indent heuristic overhead](https://gitlist.dev/e/72ac1ac2-f567-f241-41d6-d0f83072e0b3%40alum.mit.edu)
- 2018-06-02 [Re: [PATCH] t9104: kosherly remove remote refs](https://gitlist.dev/e/CAMy9T_Edbrd-90%3DZrp_3bSyuT8GhEu9228_iiaGzwLwAVDn40w%40mail.gmail.com)
- 2018-05-31 [Re: [PATCH 1/3] refs/packed-backend.c: close fd of empty file](https://gitlist.dev/e/CAMy9T_Hc_C-bbzcKBq9HJ4ufzcNJa5NtFQb1h2Uwpe6QL2XRCA%40mail.gmail.com)
- 2018-05-27 [Re: [PATCH] t990X: use '.git/objects' as 'deep inside .git' path](https://gitlist.dev/e/CAMy9T_H7OVJoDQGFNnM-GrCE9jhSqNDALFL1TM45TMcwPx5nnQ%40mail.gmail.com)
- 2018-05-25 [Re: [PATCH v2] t: make many tests depend less on the refs being files](https://gitlist.dev/e/CAMy9T_E_wO-XKn-BoVpnoUn8cGsmE4z11AzbqW%2B7Ppo%3DP9zcDg%40mail.gmail.com)
- 2018-05-25 [Re: [PATCH v2] t: make many tests depend less on the refs being files](https://gitlist.dev/e/615f57ad-7591-128a-0c42-660312d34ca2%40alum.mit.edu)
- 2018-05-25 [Re: commit-graph: change in "best" merge-base when ambiguous](https://gitlist.dev/e/1fb58851-57bc-b787-fd38-474aa6afa8b3%40alum.mit.edu)
- 2018-05-22 [Re: commit-graph: change in "best" merge-base when ambiguous](https://gitlist.dev/e/3705af00-00b7-b620-cc77-eef8f0a73bc1%40alum.mit.edu)
- 2018-05-11 [Re: Implementing reftable in Git](https://gitlist.dev/e/CAMy9T_H%3D_%2B9Z%3DCpX85Ma4gCyUuvNAPR7fSBHi2J%3D4nC1XzF2sg%40mail.gmail.com)
- 2018-05-07 [Re: [PATCH] refs: handle null-oid for pseudorefs](https://gitlist.dev/e/1291dbc0-31f9-213a-ae30-1a6349ea1626%40alum.mit.edu)
- 2018-04-10 [Re: [PATCH 12/16] refs: store the main ref store inside the repository struct](https://gitlist.dev/e/2c6214de-36b0-c67b-9a40-d43d28e780c4%40alum.mit.edu)
- 2018-04-10 [Re: [PATCH 07/16] refs: add repository argument to get_main_ref_store](https://gitlist.dev/e/d338f068-4ccd-292d-c65b-342fab4cd018%40alum.mit.edu)
- 2018-03-26 [[RFC 1/1] packed-backend: ignore broken headers](https://gitlist.dev/e/fca2318b35cfd19f8fa2278919306ba4c6475382.1522062649.git.mhagger%40alum.mit.edu)
- 2018-03-26 [[RFC 0/1] Tolerate broken headers in `packed-refs` files](https://gitlist.dev/e/cover.1522062649.git.mhagger%40alum.mit.edu)
- 2018-03-18 [Re: [ANNOUNCE] git-sizer: compute various size-related metrics for your Git repository](https://gitlist.dev/e/CAMy9T_FNW5ksx-zLJRb48A-Dt4KNikQ9zXmxDshbby40OSLuyw%40mail.gmail.com)
- 2018-03-16 [[ANNOUNCE] git-sizer: compute various size-related metrics for your Git repository](https://gitlist.dev/e/CAMy9T_FaOdLP482YZcMX16mpy_EgM0ok1GKg45rE%3DX%2BHTGxSiQ%40mail.gmail.com)
- 2018-03-14 [Re: [git-sizer] Implications of a large commit object](https://gitlist.dev/e/CAMy9T_GdYjUm9DqcgrC%3DNxyTbZk_ep5rvAAK2J%3DzwhiSMyvaLA%40mail.gmail.com)
- 2018-02-19 [Re: [PATCH] sq_dequote: fix extra consumption of source string](https://gitlist.dev/e/CAMy9T_Ho6cypqgtp9gnZtbgnO-F778pe2B3qAbu1XoTBQw9xLQ%40mail.gmail.com)
- 2018-02-13 [Re: make git diff output easier to read - use better diff heuristics](https://gitlist.dev/e/CAMy9T_FHhXMJTTHR3jg-SGab-1Rgy3FScMxeCUcUjnPfCZEJiw%40mail.gmail.com)
- 2018-01-24 [[PATCH 6/6] packed_ref_cache: don't use mmap() for small files](https://gitlist.dev/e/411272c9a3fd159ceae4649ebdb9d121ba0ea742.1516791909.git.mhagger%40alum.mit.edu)
- 2018-01-24 [[PATCH 4/6] packed_ref_iterator_begin(): make optimization more general](https://gitlist.dev/e/bf6c0c67430b936738f5e8891b82022d0127acb0.1516791909.git.mhagger%40alum.mit.edu)
- 2018-01-24 [[PATCH 5/6] load_contents(): don't try to mmap an empty file](https://gitlist.dev/e/f06611f06a8b01843bd71cd9fedec0f1eb0ee551.1516791909.git.mhagger%40alum.mit.edu)
- 2018-01-24 [[PATCH 2/6] create_snapshot(): use `xmemdupz()` rather than a strbuf](https://gitlist.dev/e/612a0b909d1f73bb706e9c44a6e1d737f3a2bf95.1516791909.git.mhagger%40alum.mit.edu)
- 2018-01-24 [[PATCH 3/6] find_reference_location(): make function safe for empty snapshots](https://gitlist.dev/e/e9f9ed1944c297a68c2b76f5d4ddd73e279bd207.1516791909.git.mhagger%40alum.mit.edu)
- 2018-01-24 [[PATCH 1/6] struct snapshot: store `start` rather than `header_len`](https://gitlist.dev/e/2adb70b238a5f7f65f19344007e1743cc96644b8.1516791909.git.mhagger%40alum.mit.edu)
- 2018-01-24 [[PATCH 0/6] Yet another approach to handling empty snapshots](https://gitlist.dev/e/cover.1516791909.git.mhagger%40alum.mit.edu)
- 2018-01-24 [Re: [PATCH v3] packed_ref_cache: don't use mmap() for small files](https://gitlist.dev/e/cea5e366-dc95-6f41-6373-f8bbef103561%40alum.mit.edu)
