{"push_id":1815296462,"size":22,"distinct_size":1,"ref":"refs/heads/pu","head":"5da2ca5a9a5893d81c8a3bb2d77e4db8f3568b4d","before":"54fd29f72b9be3a9b8962f9b7b15b832ac01b14e","commits":[{"sha":"118c8b6a5aa4320ae308429d945533c12e7559a2","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branches 'bw/ls-files-sans-the-index' and 'bw/config-h' into HEAD\n\n* bw/ls-files-sans-the-index:\n  ls-files: factor out tag calculation\n  ls-files: factor out debug info into a function\n  ls-files: convert show_files to take an index\n  ls-files: convert show_ce_entry to take an index\n  ls-files: convert prune_cache to take an index\n  ls-files: convert ce_excluded to take an index\n  ls-files: convert show_ru_info to take an index\n  ls-files: convert show_other_files to take an index\n  ls-files: convert show_killed_files to take an index\n  ls-files: convert write_eolinfo to take an index\n  ls-files: convert overlay_tree_on_cache to take an index\n  tree: convert read_tree to take an index parameter\n  convert: convert renormalize_buffer to take an index\n  convert: convert convert_to_git to take an index\n  convert: convert convert_to_git_filter_fd to take an index\n  convert: convert crlf_to_git to take an index\n  convert: convert get_cached_convert_stats_ascii to take an index\n\n* bw/config-h:\n  config: don't implicitly use gitdir or commondir\n  config: respect commondir\n  setup: teach discover_git_directory to respect the commondir\n  config: don't include config.h by default\n  config: remove git_config_iter\n  config: create config.h\n  alias: use the early config machinery to expand aliases\n  t7006: demonstrate a problem with aliases in subdirectories\n  t1308: relax the test verifying that empty alias values are disallowed\n  help: use early config when autocorrecting aliases\n  config: report correct line number upon error\n  discover_git_directory(): avoid setting invalid git_dir","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/118c8b6a5aa4320ae308429d945533c12e7559a2"},{"sha":"e39f75021bfc29ed3d9cea3006e8310d7574ae3b","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"setup: don't perform lazy initialization of repository state\n\nUnder some circumstances (bogus GIT_DIR value or the discovered gitdir\nis '.git') 'setup_git_directory()' won't initialize key repository\nstate.  This leads to inconsistent state after running the setup code.\nTo account for this inconsistent state, lazy initialization is done once\na caller asks for the repository's gitdir or some other piece of\nrepository state.  This is confusing and can be error prone.\n\nInstead let's tighten the expected outcome of 'setup_git_directory()'\nand ensure that it initializes repository state in all cases that would\nhave been handled by lazy initialization.\n\nThis also lets us drop the requirement to have 'have_git_dir()' check if\nthe environment variable GIT_DIR was set as that will be handled by the\nend of the setup code.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/e39f75021bfc29ed3d9cea3006e8310d7574ae3b"},{"sha":"2d92674259da75dbcdc8f05e7090d26984617ad2","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"setup: add comment indicating a hack\n\n'GIT_TOPLEVEL_PREFIX_ENVIRONMENT' was added in (b58a68c1c setup: allow\nfor prefix to be passed to git commands) to aid in fixing a bug where\n'ls-files' and 'grep' were not able to properly recurse when called from\nwithin a subdirectory.  Add a 'NEEDSWORK' comment indicating that this\nenvvar should be removed once 'ls-files' and 'grep' can recurse\nin-process.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/2d92674259da75dbcdc8f05e7090d26984617ad2"},{"sha":"773448bad012628574a5e9bbe4390444126c5871","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"environment: remove namespace_len variable\n\nUse 'skip_prefix' instead of 'starts_with' so that we can drop the need\nto keep around 'namespace_len'.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/773448bad012628574a5e9bbe4390444126c5871"},{"sha":"29a78877df734866ded5110f0f25e600b7710e0e","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"repository: introduce the repository object\n\nIntroduce the repository object 'struct repository' which can be used to\nhold all state pertaining to a git repository.\n\nSome of the benefits of object-ifying a repository are:\n\n  1. Make the code base more readable and easier to reason about.\n\n  2. Allow for working on multiple repositories, specifically\n     submodules, within the same process.  Currently the process for\n     working on a submodule involves setting up an argv_array of options\n     for a particular command and then launching a child process to\n     execute the command in the context of the submodule.  This is\n     clunky and can require lots of little hacks in order to ensure\n     correctness.  Ideally it would be nice to simply pass a repository\n     and an options struct to a command.\n\n  3. Eliminating reliance on global state will make it easier to\n     enable the use of threading to improve performance.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/29a78877df734866ded5110f0f25e600b7710e0e"},{"sha":"9a457a031ae9e7ea0ec03193ac2e7ff93a1f901c","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"environment: place key repository state in the_repository\n\nMigrate 'git_dir', 'git_common_dir', 'git_object_dir', 'git_index_file',\n'git_graft_file', and 'namespace' to be stored in 'the_repository'.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/9a457a031ae9e7ea0ec03193ac2e7ff93a1f901c"},{"sha":"b6889c23e1360be720228f46dd8f9876f972712b","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"environment: store worktree in the_repository\n\nMigrate 'work_tree' to be stored in 'the_repository'.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/b6889c23e1360be720228f46dd8f9876f972712b"},{"sha":"1a0918532a8fdea8a34b5284ba159a95d0f77e59","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"path: create path.h\n\nMove all path related declarations from cache.h to a new path.h header\nfile.  This makes cache.h smaller and makes it easier to add new path\nrelated functions.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/1a0918532a8fdea8a34b5284ba159a95d0f77e59"},{"sha":"005c0e8a4ef7624982d7400c36a91789eade5748","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"path: always pass in commondir to update_common_dir\n\nInstead of passing in 'NULL' and having 'update_common_dir()' query for\nthe commondir, have the callers of 'update_common_dir()' be responsible\nfor providing the commondir.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/005c0e8a4ef7624982d7400c36a91789eade5748"},{"sha":"1e7ed789355bef99490dd983c86ad0f78a1da278","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"path: convert strbuf_git_common_path to take a 'struct repository'\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/1e7ed789355bef99490dd983c86ad0f78a1da278"},{"sha":"6bb9c7b0fb25bf0d38376f037b5d57ac45c3f912","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"path: convert do_git_path to take a 'struct repository'\n\nIn preparation to adding 'git_path' like functions which operate on a\n'struct repository' convert 'do_git_path' to take a 'struct repository'.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/6bb9c7b0fb25bf0d38376f037b5d57ac45c3f912"},{"sha":"ad1172a4747a0310c90867f3dc5a52aa6e10e057","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"path: construct correct path to a worktree's index\n\nWhen working with worktrees the git directory is split into two part,\nthe per-worktree gitdir and a commondir which contains things which are\nshared among all worktrees (like the object store).  With this notion of\nhaving a split git directory, 557bd833b (git_path(): be aware of file\nrelocation in $GIT_DIR) and c7b3a3d2f ($GIT_COMMON_DIR: a new\nenvironment variable) changed the way that 'git_path()' functioned so\nthat paths would be adjusted if they referred to files or directories\nthat are stored in the commondir or have been changed via an environment\nvariable.\n\nOne interesting problem with this is the index file as it is not shared\nacross worktrees yet when asking for a path to a specific worktree's\nindex it will be replaced with a path to the current worktree's index.\nIn order to prevent this, teach 'adjuct_git_path' to replace the\npath to the index with the path recorded in a repository (which would be\nthe current, active worktree) only when not asked to construct a path\nfor a specific worktree.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/ad1172a4747a0310c90867f3dc5a52aa6e10e057"},{"sha":"995b902cda39cf7016c2b4020da6bd550a3b00cd","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"path: add repo_git_path and strbuf_repo_git_path\n\nIntroduce 'repo_git_path' and 'strbuf_repo_git_path' which take a\nrepository struct and constructs a path into the repository's git\ndirectory.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/995b902cda39cf7016c2b4020da6bd550a3b00cd"},{"sha":"9c7313b508dc42f3f01ea01eacda5d75acbf996f","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"path: add repo_worktree_path and strbuf_repo_worktree_path\n\nIntroduce 'repo_worktree_path' and 'strbuf_repo_worktree_path' which\ntake a repository struct and constructs a path relative to the\nrepository's worktree.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/9c7313b508dc42f3f01ea01eacda5d75acbf996f"},{"sha":"b95f6487d26f411f45079ce193b9fbe1376ee96d","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"config: read config from a repository object\n\nTeach the config machinery to read config information from a repository\nobject.  This involves storing a 'struct config_set' inside the\nrepository object and adding a number of functions (repo_config*) to be\nable to query a repository's config.\n\nThe current config API enables lazy-loading of the config.  This means\nthat when 'git_config_get_int()' is called, if the_config_set hasn't\nbeen populated yet, then it will be populated and properly initialized by\nreading the necessary config files (system wide .gitconfig, user's home\n.gitconfig, and the repository's config).  To maintain this paradigm,\nthe new API to read from a repository object's config will also perform\nthis lazy-initialization.\n\nSince both APIs (git_config_get* and repo_config_get*) have the same\nsemantics we can migrate the default config to be stored within\n'the_repository' and just have the 'git_config_get*' family of functions\nredirect to the 'repo_config_get*' functions.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/b95f6487d26f411f45079ce193b9fbe1376ee96d"},{"sha":"095f33fcbc2c81f07a2ca707e55d7f3b6a79c516","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"repository: add index_state to struct repo\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/095f33fcbc2c81f07a2ca707e55d7f3b6a79c516"},{"sha":"aa88b0f1e6c3a871af7d11ed2b55e616a67708f5","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"submodule-config: store the_submodule_cache in the_repository\n\nRefactor how 'the_submodule_cache' is handled so that it can be stored\ninside of a repository object.  Also migrate 'the_submodule_cache' to be\nstored in 'the_repository'.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/aa88b0f1e6c3a871af7d11ed2b55e616a67708f5"},{"sha":"cdf0466ea24f33c6a0e039775f9959f4eed85910","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"submodule: add repo_read_gitmodules\n\nTeach the repo object to be able to populate the submodule_cache by\nreading the repository's gitmodules file.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/cdf0466ea24f33c6a0e039775f9959f4eed85910"},{"sha":"bd27148821d3424446744fcdcc4a211b7fa245e7","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"submodule: convert is_submodule_initialized to work on a repository\n\nConvert 'is_submodule_initialized()' to take a repository object and\nwhile we're at it, lets rename the function to 'is_submodule_active()'\nand remove the NEEDSWORK comment.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/bd27148821d3424446744fcdcc4a211b7fa245e7"},{"sha":"fb325cd26ad9a96672d85f61f5546dde46c10b6d","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"repository: enable initialization of submodules\n\nIntroduce 'repo_submodule_init()' which performs initialization of a\n'struct repository' as a submodule of another 'struct repository'.\n\nThe resulting submodule can be in one of three states:\n\n  1. The submodule is initialized and has a worktree.\n\n  2. The submodule is initialized but does not have a worktree.  This\n     would occur when the submodule's gitdir is present in the\n     superproject's 'gitdir/modules/' directory yet the submodule has not\n     been checked out in superproject's worktree.\n\n  3. The submodule remains uninitialized due to an error in the\n     initialization process or there is no matching submodule at the\n     provided path in the superproject.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/fb325cd26ad9a96672d85f61f5546dde46c10b6d"}]}
{"actor":{"display_login":"gitster"}}