{"push_id":763529497,"size":109,"distinct_size":1,"ref":"refs/heads/jk/tree-diff-traversal-wip","head":"57c5663265c6a95f6d61ba35b4192e4dd22eac41","before":"960513a2a70016dc3432a3415a3b76c174da8c64","commits":[{"sha":"f6216c2c5c113bc6b1ed008c5ed01062042382e1","author":{"email":"b572f2f3c43eb434810945d1deae9a1be8945fd5@ensimag.grenoble-inp.fr","name":"Antoine Delaite"},"message":"bisect: correction of typo\n\nSigned-off-by: Antoine Delaite <antoine.delaite@ensimag.grenoble-inp.fr>\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/f6216c2c5c113bc6b1ed008c5ed01062042382e1"},{"sha":"c9493973a5fc9dfedb73d7f041faa63aa4893561","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"Documentation/bisect: move getting help section to the end\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/c9493973a5fc9dfedb73d7f041faa63aa4893561"},{"sha":"2df5a846d0ac5f5ddb67b3488a064379c9489f9d","author":{"email":"c24c152f145c57791e809b126db9e61bd1c1782d@alum.mit.edu","name":"Michael Haggerty"},"message":"Documentation/bisect: revise overall content\n\nThoroughly revise the \"git bisect\" manpage, including:\n\n* Beef up the \"Description\" section.\n\n* Make the first long example less specific to kernel development.\n\n* De-emphasize implementation details in a couple of places.\n\n* Add \"(roughly N steps)\" in the places where example output is shown.\n\n* Properly markup code within the prose.\n\n* Lots of wordsmithing.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2df5a846d0ac5f5ddb67b3488a064379c9489f9d"},{"sha":"43f9d9f3a6c6004853fcc7b283dafc3590478498","author":{"email":"b572f2f3c43eb434810945d1deae9a1be8945fd5@ensimag.grenoble-inp.fr","name":"Antoine Delaite"},"message":"bisect: replace hardcoded \"bad|good\" by variables\n\nTo add new tags like old/new and have keywords less confusing, the\nfirst step is to avoid hardcoding the keywords.\n\nThe default mode is still bad/good.\n\nSigned-off-by: Antoine Delaite <antoine.delaite@ensimag.grenoble-inp.fr>\nSigned-off-by: Louis Stuber <stuberl@ensimag.grenoble-inp.fr>\nSigned-off-by: Valentin Duperray <Valentin.Duperray@ensimag.imag.fr>\nSigned-off-by: Franck Jonas <Franck.Jonas@ensimag.imag.fr>\nSigned-off-by: Lucien Kong <Lucien.Kong@ensimag.imag.fr>\nSigned-off-by: Thomas Nguy <Thomas.Nguy@ensimag.imag.fr>\nSigned-off-by: Huynh Khoi Nguyen Nguyen <Huynh-Khoi-Nguyen.Nguyen@ensimag.imag.fr>\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/43f9d9f3a6c6004853fcc7b283dafc3590478498"},{"sha":"bc483285b79c880b606bdffc0fffec3850458aca","author":{"email":"c24c152f145c57791e809b126db9e61bd1c1782d@alum.mit.edu","name":"Michael Haggerty"},"message":"Documentation/git-worktree: consistently use term \"linked working tree\"\n\nSometimes linked working trees were called \"linked working\ndirectories\" or \"linked worktrees\". Always refer to them as \"linked\nworking trees\" for consistency.\n\n[es: fix additional occurrences]\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/bc483285b79c880b606bdffc0fffec3850458aca"},{"sha":"2e73ab6e697ff8a98fd359321b584d01fa4f8672","author":{"email":"c24c152f145c57791e809b126db9e61bd1c1782d@alum.mit.edu","name":"Michael Haggerty"},"message":"Documentation/git-worktree: fix incorrect reference to file \"locked\"\n\nThe administrative file to suppress pruning is named \"locked\", not \"lock\".\n\n[es: don't touch unrelated \"git worktree lock\" command; reword commit\nmessage]\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2e73ab6e697ff8a98fd359321b584d01fa4f8672"},{"sha":"fe819b4b73e82654f5827d208acfdeeb2a40b8ca","author":{"email":"c24c152f145c57791e809b126db9e61bd1c1782d@alum.mit.edu","name":"Michael Haggerty"},"message":"Documentation/config: fix stale \"git prune --worktree\" reference\n\nThis should have been changed to \"git worktree prune\" by df0b6cf\n(worktree: new place for \"git prune --worktrees\", 2015-06-29)\n\n[es: reword commit message]\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/fe819b4b73e82654f5827d208acfdeeb2a40b8ca"},{"sha":"b07244f4c38326ed6da731aa0d4862905cd58daa","author":{"email":"c24c152f145c57791e809b126db9e61bd1c1782d@alum.mit.edu","name":"Michael Haggerty"},"message":"Documentation/git-worktree: wordsmith worktree-related manpages\n\n[es: reword .git/worktrees and .git/worktrees/<id>/locked descriptions]\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/b07244f4c38326ed6da731aa0d4862905cd58daa"},{"sha":"114ff8881ac3de4b97f62f014560c99bed5dab92","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"config: rename \"gc.pruneWorktreesExpire\" to \"gc.worktreePruneExpire\"\n\nAs of df0b6cf (worktree: new place for \"git prune --worktrees\",\n2015-06-29), linked worktree pruning functionality moved from\n\"git prune --worktrees\" to \"git worktree prune\". Rename the\nassociated configuration variable accordingly.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/114ff8881ac3de4b97f62f014560c99bed5dab92"},{"sha":"c265c533cfbced87d56ad6d3d4ae3d62475c29ce","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: avoid resolving HEAD unnecessarily\n\nWhen --ignore-other-worktree is specified, we unconditionally skip the\ncheck to see if the requested branch is already checked out in a linked\nworktree. Since we know that we will be skipping that check, there is no\nneed to resolve HEAD in order to detect other conditions under which we\nmay skip the check.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/c265c533cfbced87d56ad6d3d4ae3d62475c29ce"},{"sha":"e13d37094e3b2ceb51dab362b8e2e1ad9e4bb758","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: name check_linked_checkouts() more meaningfully\n\ncheck_linked_checkouts() doesn't just \"check\" linked checkouts for\n\"something\"; specifically, it aborts the operation if the branch about\nto be checked out is already checked out elsewhere. Therefore, rename it\nto die_if_checked_out() to give a better indication of its function.\nThe more meaningful name will be particularly important when this\nfunction is later published for use by other callers.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/e13d37094e3b2ceb51dab362b8e2e1ad9e4bb758"},{"sha":"aaad2c948f11cd57348135fb1e62b012db716182","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: improve die_if_checked_out() robustness\n\ndie_if_checked_out() is intended to check if the branch about to be\nchecked out is already checked out either in the main worktree or in a\nlinked worktree. However, if .git/worktrees directory does not exist,\nthen it never bothers checking the main worktree, even though the\nspecified branch might indeed be checked out there, which is fragile\nbehavior.\n\nThis hasn't been a problem in practice since the current implementation\nof \"git worktree add\" (and, earlier, \"git checkout --to\") always creates\n.git/worktrees before die_if_checked_out() is called by the child \"git\ncheckout\" invocation which populates the new worktree.\n\nHowever, git-worktree will eventually want to call die_if_checked_out()\nitself rather than only doing so indirectly as a side-effect of invoking\ngit-checkout, and reliance upon order of operations (creating\n.git/worktrees before checking if a branch is already checked out) is\nfragile. As a general function, callers should not be expected to abide\nby this undocumented and unwarranted restriction. Therefore, make\ndie_if_checked_out() more robust by checking the main worktree whether\n.git/worktrees exists or not.\n\nWhile here, also move a comment explaining why die_if_checked_out()'s\nhelper parses HEAD manually. Such information resides more naturally\nwith the helper itself rather than at its first point of call.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/aaad2c948f11cd57348135fb1e62b012db716182"},{"sha":"4e07815dba5ccad0cfcb672b99e2000bd3dc3543","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: die_if_checked_out: simplify strbuf management\n\nThere is no reason to keep the strbuf active long after its last use.\nBy releasing it as early as possible, resource management is simplified\nand there is less worry about future changes resulting in a leak.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4e07815dba5ccad0cfcb672b99e2000bd3dc3543"},{"sha":"4341460d92c2857193954158f35aaf7518aa7a58","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: generalize die_if_checked_out() branch name argument\n\nThe plan is to publish die_if_checked_out() so that callers other than\ngit-checkout can take advantage of it, however, those callers won't have\naccess to git-checkout's \"struct branch_info\". Therefore, change it to\naccept the full name of the branch as a simple string instead.\n\nWhile here, also give the argument a more meaningful name (\"branch\"\ninstead of \"new\").\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4341460d92c2857193954158f35aaf7518aa7a58"},{"sha":"39e69e151951040b952b3c81d2ee40b827fd9abf","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: check_linked_checkout: improve \"already checked out\" aesthetic\n\nWhen check_linked_checkout() discovers that the branch is already\nchecked out elsewhere, it emits the diagnostic:\n\n    'blorp' is already checked out at '/some/path/.git'\n\nwhich is misleading since \"checked out at\" implies the working tree, but\n\".git\" is the location of the repository administrative files. Fix by\ndropping \".git\" from the message.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/39e69e151951040b952b3c81d2ee40b827fd9abf"},{"sha":"33aef83666900df03c39bcf7e391e2f8195dd13c","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: check_linked_checkout: simplify symref parsing\n\ncheck_linked_checkout() only understands symref-style HEAD (i.e. \"ref:\nrefs/heads/master\"), however, HEAD may also be a an actual symbolic link\n(on platforms which support it), thus it will need to check that style\nHEAD, as well (via readlink()). As a preparatory step, simplify parsing\nof symref-style HEAD so the actual branch check can be re-used easily\nfor symbolic links (in an upcoming patch).\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/33aef83666900df03c39bcf7e391e2f8195dd13c"},{"sha":"746bbdc64f1e1b2618cd71e5da81e38aa772e8ba","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"checkout: teach check_linked_checkout() about symbolic link HEAD\n\ncheck_linked_checkout() only understands symref-style HEAD (i.e. \"ref:\nrefs/heads/master\"), however, HEAD may also be a an actual symbolic link\n(on platforms which support it). To accurately detect if a branch is\nchecked out elsewhere, it needs to handle symbolic link HEAD, as well.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/746bbdc64f1e1b2618cd71e5da81e38aa772e8ba"},{"sha":"ed89f84b3c05d6359aba842e245910c996d91859","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"branch: publish die_if_checked_out()\n\ngit-worktree currently conflates new branch creation, setting of HEAD in\nthe new wortkree, and worktree population into a single sub-invocation\nof git-checkout. However, these operations will eventually be separated,\nand git-worktree itself will need to be able to detect if the branch is\nalready checked out elsewhere, rather than relying upon git-branch to\nmake this determination, so publish die_if_checked_out().\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/ed89f84b3c05d6359aba842e245910c996d91859"},{"sha":"cd2f4713112119e18af8b5b580c5661a52320632","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"worktree: improve worktree setup message\n\nWhen git-worktree creates a new worktree, it reports:\n\n    Enter \"<path>\" (identifier <tag>)\n\nwhich misleadingly implies that it is setting <path> as the working\ndirectory (as if \"cd <path>\" had been invoked), whereas it's actually\npreparing the new worktree by creating its administrative files, setting\nHEAD, and populating it. Make this more clear by instead saying:\n\n    Preparing \"<path>\" (identifier <tag>)\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/cd2f4713112119e18af8b5b580c5661a52320632"},{"sha":"eef005dcb3e039ccc3da65e9347cf4357bdeea6a","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"worktree: simplify new branch (-b/-B) option checking\n\nMake 'new_branch' be the name of the new branch for both forced and\nnon-forced cases; and add boolean 'force_new_branch' to indicate forced\nbranch creation. This will simplify logic later on when git-worktree\nhandles branch creation locally rather than delegating it to\ngit-checkout as part of the worktree population phase.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/eef005dcb3e039ccc3da65e9347cf4357bdeea6a"}]}