{"push_id":916223027,"size":1000,"distinct_size":15,"ref":"refs/heads/shallow-since","head":"f2c4da5b6d69a94ba32f16a3ab70467540083099","before":"d6c3046976bb80eadb7dc4ef3768c5f7556cb9d6","commits":[{"sha":"e48ad1b9b1d862dd0aad3a21c7e6ca5ec68c024c","author":{"email":"74ec1f46a68d238888726a00aa611ba6343172e2@gmail.com","name":"Jacob Keller"},"message":"notes: document cat_sort_uniq rewriteMode\n\nTeach documentation about the cat_sort_uniq rewriteMode that got added\nat the same time as the equivalent merge strategy.\n\nSigned-off-by: Jacob Keller <jacob.keller@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/e48ad1b9b1d862dd0aad3a21c7e6ca5ec68c024c"},{"sha":"4d03dd18f0860d4052fab5ce7779e4bba302e5fc","author":{"email":"74ec1f46a68d238888726a00aa611ba6343172e2@gmail.com","name":"Jacob Keller"},"message":"notes: extract enum notes_merge_strategy to notes-utils.h\n\nA future patch will extract parsing of the --strategy string into a\nhelper function in notes.c and will require the enumeration definition.\n\nSigned-off-by: Jacob Keller <jacob.keller@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/4d03dd18f0860d4052fab5ce7779e4bba302e5fc"},{"sha":"93efcad31777142840eaefc19b71d1a4b6a2fe24","author":{"email":"74ec1f46a68d238888726a00aa611ba6343172e2@gmail.com","name":"Jacob Keller"},"message":"notes: extract parse_notes_merge_strategy to notes-utils\n\nSigned-off-by: Jacob Keller <jacob.keller@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/93efcad31777142840eaefc19b71d1a4b6a2fe24"},{"sha":"11dd2b2e9a3303bd1e32fd2ee95ec5dff38d9d47","author":{"email":"74ec1f46a68d238888726a00aa611ba6343172e2@gmail.com","name":"Jacob Keller"},"message":"notes: add tests for --commit/--abort/--strategy exclusivity\n\nAdd new tests to ensure that --commit, --abort, and --strategy are\nmutually exclusive.\n\nSigned-off-by: Jacob Keller <jacob.keller@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/11dd2b2e9a3303bd1e32fd2ee95ec5dff38d9d47"},{"sha":"d2d68d9975da4a15dfca0e6e59001948e5bf57f9","author":{"email":"74ec1f46a68d238888726a00aa611ba6343172e2@gmail.com","name":"Jacob Keller"},"message":"notes: add notes.mergeStrategy option to select default strategy\n\nTeach git-notes about \"notes.mergeStrategy\" to select a general strategy\nfor all notes merges. This enables a user to always get expected merge\nstrategy such as \"cat_sort_uniq\" without having to pass the \"-s\" option\nmanually.\n\nSigned-off-by: Jacob Keller <jacob.keller@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/d2d68d9975da4a15dfca0e6e59001948e5bf57f9"},{"sha":"4f655e22b76fed49b0c32bcdcd899934215b9a6d","author":{"email":"74ec1f46a68d238888726a00aa611ba6343172e2@gmail.com","name":"Jacob Keller"},"message":"notes: teach git-notes about notes.<name>.mergeStrategy option\n\nTeach notes about a new \"notes.<name>.mergeStrategy\" option for\nconfiguring the notes merge strategy when merging into\nrefs/notes/<name>. This option allows for the selection of merge\nstrategy for particular notes refs, rather than all notes ref merges, as\nuser may not want cat_sort_uniq for all refs, but only some. Note that\nthe <name> is the local reference we are merging into, not the remote\nref we merged from. The assumption is that users will mostly want to\nconfigure separate local ref merge strategies rather than strategies\ndepending on which remote ref they merge from.\n\nnotes.<name>.mergeStrategy overrides the general behavior as it is more\nspecific.\n\nSigned-off-by: Jacob Keller <jacob.keller@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/4f655e22b76fed49b0c32bcdcd899934215b9a6d"},{"sha":"f178136e688f6eabe09130e79a0c9e2de58928a0","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"t7063: use --force-untracked-cache to speed up a bit\n\nWhen in the middle of t7063, we are sure untracked cache is supported,\nso we can use --force-untracked-cache to skip the support detection\nphase and save a few seconds. It's also good that --force-untracked-cache\nis exercised in the test suite.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/f178136e688f6eabe09130e79a0c9e2de58928a0"},{"sha":"2e5910f27695b1b24e8a6870940bfac2a03ef0d7","author":{"email":"a13b1135e6f2f8530e85bc2896cd5ed89a6ed863@twopensource.com","name":"David Turner"},"message":"untracked-cache: fix subdirectory handling\n\nPreviously, some calls lookup_untracked would pass a full path.  But\nlookup_untracked assumes that the portion of the path up to and\nincluding to the untracked_cache_dir has been removed.  So\nlookup_untracked would be looking in the untracked_cache for 'foo' for\n'foo/bar' (instead of just looking for 'bar').  This would cause\nuntracked cache corruption.\n\nInstead, treat_directory learns to track the base length of the parent\ndirectory, so that only the last path component is passed to\nlookup_untracked.\n\nHelped-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: David Turner <dturner@twopensource.com>\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/2e5910f27695b1b24e8a6870940bfac2a03ef0d7"},{"sha":"73f9145fbf748d39dd1e145ec846a5481cf7a36f","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"untracked cache: fix entry invalidation\n\nFirst, the current code in untracked_cache_invalidate_path() is wrong\nbecause it can only handle paths \"a\" or \"a/b\", not \"a/b/c\" because\nlookup_untracked() only looks for entries directly under the given\ndirectory. In the last case, it will look for the entry \"b/c\" in\ndirectory \"a\" instead. This means if you delete or add an entry in a\nsubdirectory, untracked cache may become out of date because it does not\ninvalidate properly. This is noticed by David Turner.\n\nThe second problem is about invalidation inside a fully untracked/excluded\ndirectory. In this case we may have to invalidate back to root. See the\ncomment block for detail.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/73f9145fbf748d39dd1e145ec846a5481cf7a36f"},{"sha":"3ecc7040eff29fea0051df9faf21b0a73ee6d911","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"am --skip/--abort: merge HEAD/ORIG_HEAD tree into index\n\nAfter running \"git am --abort\", and then running \"git reset --hard\",\nfiles that were not modified would still be re-checked out.\n\nThis is because clean_index() in builtin/am.c mistakenly called the\nread_tree() function, which overwrites all entries in the index,\nincluding the stat info.\n\n\"git am --skip\" did not seem to have this issue because am_skip() called\nam_run(), which called refresh_cache() to update the stat info. However,\nthere's still a performance penalty as the lack of stat info meant that\nrefresh_cache() would have to scan all files for changes.\n\nFix this by using unpack_trees() instead to merge the tree into the\nindex, so that the stat info from the index is kept.\n\nReported-by: Linus Torvalds <torvalds@linux-foundation.org>\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Paul Tan <pyokagan@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/3ecc7040eff29fea0051df9faf21b0a73ee6d911"},{"sha":"959b5455d07c7724eea9d323ca8ce6bb6ddde40e","author":{"email":"86e258386154ed4b73b2a53bbe17a37214573109@hvoigt.net","name":"Heiko Voigt"},"message":"submodule: implement a config API for lookup of .gitmodules values\n\nIn a superproject some commands need to interact with submodules. They\nneed to query values from the .gitmodules file either from the worktree\nof from certain revisions. At the moment this is quite hard since a\ncaller would need to read the .gitmodules file from the history and then\nparse the values. We want to provide an API for this so we have one\nplace to get values from .gitmodules from any revision (including the\nworktree).\n\nThe API is realized as a cache which allows us to lazily read\n.gitmodules configurations by commit into a runtime cache which can then\nbe used to easily lookup values from it. Currently only the values for\npath or name are stored but it can be extended for any value needed.\n\nIt is expected that .gitmodules files do not change often between\ncommits. Thats why we lookup the .gitmodules sha1 from a commit and then\neither lookup an already parsed configuration or parse and cache an\nunknown one for each sha1. The cache is lazily build on demand for each\nrequested commit.\n\nThis cache can be used for all purposes which need knowledge about\nsubmodule configurations. Example use cases are:\n\n * Recursive submodule checkout needs to lookup a submodule name from\n   its path when a submodule first appears. This needs be done before\n   this configuration exists in the worktree.\n\n * The implementation of submodule support for 'git archive' needs to\n   lookup the submodule name to generate the archive when given a\n   revision that is not checked out.\n\n * 'git fetch' when given the --recurse-submodules=on-demand option (or\n   configuration) needs to lookup submodule names by path from the\n   database rather than reading from the worktree. For new submodule it\n   needs to lookup the name from its path to allow cloning new\n   submodules into the .git folder so they can be checked out without\n   any network interaction when the user does a checkout of that\n   revision.\n\nSigned-off-by: Heiko Voigt <hvoigt@hvoigt.net>\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/959b5455d07c7724eea9d323ca8ce6bb6ddde40e"},{"sha":"0d9f282c943a0799999176a2d8291ecbad060389","author":{"email":"86e258386154ed4b73b2a53bbe17a37214573109@hvoigt.net","name":"Heiko Voigt"},"message":"submodule: extract functions for config set and lookup\n\nThis is one step towards using the new configuration API. We just\nextract these functions to make replacing the actual code easier.\n\nSigned-off-by: Heiko Voigt <hvoigt@hvoigt.net>\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/0d9f282c943a0799999176a2d8291ecbad060389"},{"sha":"851e18c3859ad0f9f7e91fdb4d6cce5a8272420b","author":{"email":"86e258386154ed4b73b2a53bbe17a37214573109@hvoigt.net","name":"Heiko Voigt"},"message":"submodule: use new config API for worktree configurations\n\nWe remove the extracted functions and directly parse into and read out\nof the cache. This allows us to have one unified way of accessing\nsubmodule configuration values specific to single submodules. Regardless\nwhether we need to access a configuration from history or from the\nworktree.\n\nSigned-off-by: Heiko Voigt <hvoigt@hvoigt.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/851e18c3859ad0f9f7e91fdb4d6cce5a8272420b"},{"sha":"027771fcb153e0003bcb2d68e1838594a48b0161","author":{"email":"86e258386154ed4b73b2a53bbe17a37214573109@hvoigt.net","name":"Heiko Voigt"},"message":"submodule: allow erroneous values for the fetchRecurseSubmodules option\n\nWe should not die when reading the submodule config cache since the\nuser might not be able to get out of that situation when the\nconfiguration is part of the history.\n\nWe should handle this condition later when the value is about to be\nused.\n\nSigned-off-by: Heiko Voigt <hvoigt@hvoigt.net>\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/027771fcb153e0003bcb2d68e1838594a48b0161"},{"sha":"5a1ba6b48a62bf55f9c8305d9850c3a8d22365c5","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge 'hv/submodule-config' to 'sb/submodule-helper'\n\n* hv/submodule-config:\n  submodule: allow erroneous values for the fetchRecurseSubmodules option\n  submodule: use new config API for worktree configurations\n  submodule: extract functions for config set and lookup\n  submodule: implement a config API for lookup of .gitmodules values","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/5a1ba6b48a62bf55f9c8305d9850c3a8d22365c5"},{"sha":"f9e0952d1ff1c1f5c8fbbe9d914bb30012341a04","author":{"email":"ac39666f39dfa5b37bad5e19ae3f186528808854@google.com","name":"Dave Borowitz"},"message":"Documentation/git-push.txt: document when --signed may fail\n\nLike --atomic, --signed will fail if the server does not advertise the\nnecessary capability. In addition, it requires gpg on the client side.\n\nSigned-off-by: Dave Borowitz <dborowitz@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/f9e0952d1ff1c1f5c8fbbe9d914bb30012341a04"},{"sha":"a3fb31a89234ec49ff8640a531f1445d6ad38b4a","author":{"email":"ac39666f39dfa5b37bad5e19ae3f186528808854@google.com","name":"Dave Borowitz"},"message":"Documentation/git-send-pack.txt: wrap long synopsis line\n\nSigned-off-by: Dave Borowitz <dborowitz@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/a3fb31a89234ec49ff8640a531f1445d6ad38b4a"},{"sha":"66697fe4bac58053187a4c013de33fd587929487","author":{"email":"ac39666f39dfa5b37bad5e19ae3f186528808854@google.com","name":"Dave Borowitz"},"message":"Documentation/git-send-pack.txt: document --signed\n\nSigned-off-by: Dave Borowitz <dborowitz@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/66697fe4bac58053187a4c013de33fd587929487"},{"sha":"b9299a2bb15a2fe851d0a463d8c0567743960c61","author":{"email":"ac39666f39dfa5b37bad5e19ae3f186528808854@google.com","name":"Dave Borowitz"},"message":"gitremote-helpers.txt: document pushcert option\n\nSigned-off-by: Dave Borowitz <dborowitz@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/b9299a2bb15a2fe851d0a463d8c0567743960c61"},{"sha":"87c0d08b3d92c55c233c8a95294a2232a97d97eb","author":{"email":"ac39666f39dfa5b37bad5e19ae3f186528808854@google.com","name":"Dave Borowitz"},"message":"transport: remove git_transport_options.push_cert\n\nThis field was set in transport_set_option, but never read in the push\ncode. The push code basically ignores the smart_options field\nentirely, and derives its options from the flags arguments to the\npush* callbacks. Note that in git_transport_push there are already\nseveral args set from flags that have no corresponding field in\ngit_transport_options; after this change, push_cert is just like\nthose.\n\nSigned-off-by: Dave Borowitz <dborowitz@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pclouds/git/commits/87c0d08b3d92c55c233c8a95294a2232a97d97eb"}]}