{"push_id":645990748,"size":54,"distinct_size":0,"ref":"refs/heads/jch","head":"b248694033eeb496c21f8dc7425097d9ddaef423","before":"3b2015e99e5a1de9ec819b01683bfcb9d8246fb4","commits":[{"sha":"f224b3e10299b6eb2d13e459744716a8810cd868","author":{"email":"738bdd359be778fee9f0fc4e2934ad72f436ceda@crustytoothpaste.net","name":"brian m. carlson"},"message":"connect: improve check for plink to reduce false positives\n\nThe git_connect function has code to handle plink and tortoiseplink\nspecially, as they require different command line arguments from\nOpenSSH (-P instead of -p for ports; tortoiseplink additionally requires\n-batch).  However, the match was done by checking for \"plink\" anywhere\nin the string, which led to a GIT_SSH value containing \"uplink\" being\ntreated as an invocation of putty's plink.\n\nImprove the check by looking for \"plink\" or \"tortoiseplink\" (or those\nnames suffixed with \".exe\") only in the final component of the path.\nThis has the downside that a program such as \"plink-0.63\" would no\nlonger be recognized, but the increased robustness is likely worth it.\nAdd tests to cover these cases to avoid regressions.\n\nSigned-off-by: brian m. carlson <sandals@crustytoothpaste.net>\nAcked-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/f224b3e10299b6eb2d13e459744716a8810cd868"},{"sha":"631f6f1d47cc51a46c8ab48ea1178ea04cff0b8a","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jc/push-cert' into maint\n\nThe \"git push --signed\" protocol extension did not limit what the\n\"nonce\" that is a server-chosen string can contain or how long it\ncan be, which was unnecessarily lax.  Limit both the length and the\nalphabet to a reasonably small space that can still have enough\nentropy.\n\n* jc/push-cert:\n  push --signed: tighten what the receiving end can ask to sign","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/631f6f1d47cc51a46c8ab48ea1178ea04cff0b8a"},{"sha":"89ba311df399d27a962b273e1acd95a38af2c821","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'ma/bash-completion-leaking-x' into maint\n\nThe completion script (in contrib/) contaminated global namespace\nand clobbered on a shell variable $x.\n\n* ma/bash-completion-leaking-x:\n  completion: fix global bash variable leak on __gitcompappend","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/89ba311df399d27a962b273e1acd95a38af2c821"},{"sha":"ad34ad614da30387c82a54c7087705050b4de441","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'tb/connect-ipv6-parse-fix' into maint\n\nAn earlier update to the parser that disects a URL broke an\naddress, followed by a colon, followed by an empty string (instead\nof the port number), e.g. ssh://example.com:/path/to/repo.\n\n* tb/connect-ipv6-parse-fix:\n  connect.c: ignore extra colon after hostname","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/ad34ad614da30387c82a54c7087705050b4de441"},{"sha":"16018ae5fb368151f3eff13730cf089b63f41962","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Git 2.3.7\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/16018ae5fb368151f3eff13730cf089b63f41962"},{"sha":"fb3e7d5515308c73c54c797356651d6ca41b58a6","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Sync with 2.3.7","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/fb3e7d5515308c73c54c797356651d6ca41b58a6"},{"sha":"5ccb439e03abcf06c43bf2e1f95cdb1c5fde03ee","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mg/status-v-v' into jch\n\n* mg/status-v-v:\n  status: document the -v/--verbose option","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/5ccb439e03abcf06c43bf2e1f95cdb1c5fde03ee"},{"sha":"4507c175977cee82dced94c47200b6391221a00a","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'nd/versioncmp-prereleases' into jch\n\n* nd/versioncmp-prereleases:\n  git tag: mention versionsort.prereleaseSuffix in manpage","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/4507c175977cee82dced94c47200b6391221a00a"},{"sha":"43e44590f3872577649e7544fb35a6ccfec8b095","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'oh/fix-config-default-user-name-section' into jch\n\nThe default $HOME/.gitconfig file created upon \"git config --global\"\nthat edits it had incorrectly spelled user.name and user.email\nentries in it.\n\n* oh/fix-config-default-user-name-section:\n  config: fix settings in default_user_config template","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/43e44590f3872577649e7544fb35a6ccfec8b095"},{"sha":"eae846bc018164558fb850c529f82303818a467a","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mg/show-notes-doc' into jch\n\nDocumentation fix.\n\n* mg/show-notes-doc:\n  rev-list-options.txt: complete sentence about notes matching","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/eae846bc018164558fb850c529f82303818a467a"},{"sha":"c7c9c47e1fbd8e83ae8f744674821601d586f238","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jk/type-from-string-gently' into jch\n\n\"git cat-file bl $blob\" failed to barf even though there is no\nobject type that is \"bl\".\n\n* jk/type-from-string-gently:\n  type_from_string_gently: make sure length matches","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/c7c9c47e1fbd8e83ae8f744674821601d586f238"},{"sha":"f4bf596a9a1a9714fad1950acb1a58443efad5a6","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'bc/object-id' into jch\n\nIdentify parts of the code that knows that we use SHA-1 hash to\nname our objects too much, and use (1) symbolic constants instead\nof hardcoded 20 as byte count and/or (2) use struct object_id\ninstead of unsigned char [20] for object names.\n\nAlso waiting for reviews on the follow-up series ($gmane/265939)\nthat seems to have seen no interest X-<.\n\n* bc/object-id:\n  apply: convert threeway_stage to object_id\n  patch-id: convert to use struct object_id\n  commit: convert parts to struct object_id\n  diff: convert struct combine_diff_path to object_id\n  bulk-checkin.c: convert to use struct object_id\n  zip: use GIT_SHA1_HEXSZ for trailers\n  archive.c: convert to use struct object_id\n  bisect.c: convert leaf functions to use struct object_id\n  define utility functions for object IDs\n  define a structure for object IDs","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/f4bf596a9a1a9714fad1950acb1a58443efad5a6"},{"sha":"184d4468a36b9c123ee23efda17a6aa8f2015314","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'pt/credential-xdg' into jch\n\nTweak the sample \"store\" backend of the credential helper to honor\nXDG configuration file locations when specified.\n\nAs this may see further updates, and also this is not an urgent\nissue anyway, I'll give it a bit more time for it to simmer.\n\n* pt/credential-xdg:\n  t0302: \"unreadable\" test needs POSIXPERM\n  t0302: test credential-store support for XDG_CONFIG_HOME\n  git-credential-store: support XDG_CONFIG_HOME\n  git-credential-store: support multiple credential files","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/184d4468a36b9c123ee23efda17a6aa8f2015314"},{"sha":"eb76699a2c11f5c8fd13d746dab2d70939b944b5","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'nd/diff-i-t-a' into jch\n\nAfter \"git add -N\", the path appeared in output of \"git diff HEAD\"\nand \"git diff --cached HEAD\", leading \"git status\" to classify it\nas \"Changes to be committed\".  Such a path, however, is not yet to\nbe scheduled to be committed.  \"git diff\" showed the change to the\npath as modification, not as a \"new file\", in the header of its\noutput.\n\nTreat such paths as \"yet to be added to the index but Git already\nknow about them\"; \"git diff HEAD\" and \"git diff --cached HEAD\"\nshould not talk about them, and \"git diff\" should show them as new\nfiles yet to be added to the index.\n\n* nd/diff-i-t-a:\n  diff-lib.c: adjust position of i-t-a entries in diff","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/eb76699a2c11f5c8fd13d746dab2d70939b944b5"},{"sha":"5b9227e95b42b6fd5037cfc69e90252fff3c0d10","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jc/diff-no-index-d-f' into jch\n\nThe usual \"git diff\" when seeing a file turning into a directory\nshowed a patchset to remove the file and create all files in the\ndirectory, but \"git diff --no-index\" simply refused to work.  Also,\nwhen asked to compare a file and a directory, imitate POSIX \"diff\"\nand compare the file with the file with the same name in the\ndirectory, instead of refusing to run.\n\n* jc/diff-no-index-d-f:\n  diff-no-index: align D/F handling with that of normal Git\n  diff-no-index: DWIM \"diff D F\" into \"diff D/F F\"","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/5b9227e95b42b6fd5037cfc69e90252fff3c0d10"},{"sha":"4fff18a1976d57d06285e0de4f9e48dc294f5844","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'nd/multiple-work-trees' into jch\n\nA replacement for contrib/workdir/git-new-workdir that does not\nrely on symbolic links and make sharing of objects and refs safer\nby making the borrowee and borrowers aware of each other.\n\n* nd/multiple-work-trees: (41 commits)\n  prune --worktrees: fix expire vs worktree existence condition\n  t1501: fix test with split index\n  t2026: fix broken &&-chain\n  t2026 needs procondition SANITY\n  git-checkout.txt: a note about multiple checkout support for submodules\n  checkout: add --ignore-other-wortrees\n  checkout: pass whole struct to parse_branchname_arg instead of individual flags\n  git-common-dir: make \"modules/\" per-working-directory directory\n  checkout: do not fail if target is an empty directory\n  t2025: add a test to make sure grafts is working from a linked checkout\n  checkout: don't require a work tree when checking out into a new one\n  git_path(): keep \"info/sparse-checkout\" per work-tree\n  count-objects: report unused files in $GIT_DIR/worktrees/...\n  gc: support prune --worktrees\n  gc: factor out gc.pruneexpire parsing code\n  gc: style change -- no SP before closing parenthesis\n  checkout: clean up half-prepared directories in --to mode\n  checkout: reject if the branch is already checked out elsewhere\n  prune: strategies for linked checkouts\n  checkout: support checking out into a new working directory\n  ...","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/4fff18a1976d57d06285e0de4f9e48dc294f5844"},{"sha":"1d7bae68c75333b4afaa9016988a8a22e9c933ea","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'sb/line-log-plug-pairdiff-leak' into jch\n\n* sb/line-log-plug-pairdiff-leak:\n  line-log.c: fix a memleak","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/1d7bae68c75333b4afaa9016988a8a22e9c933ea"},{"sha":"80a884441c48ff414c91fe579cbd7882756d5da2","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mh/show-branch-topic' into jch\n\n\"git show-branch --topics HEAD\" (with no other arguments) did not\ndo anything interesting.  Instead, contrast the given revision\nagainst all the local branches by default.\n\n* mh/show-branch-topic:\n  show-branch: show all local heads when only giving one rev along --topics","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/80a884441c48ff414c91fe579cbd7882756d5da2"},{"sha":"ad327a896085f967b8901716d37ac152bef67b8e","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'ts/checkout-advice-plural' into jch\n\n* ts/checkout-advice-plural:\n  checkout: call a single commit \"it\" intead of \"them\"","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/ad327a896085f967b8901716d37ac152bef67b8e"},{"sha":"898eb850ee4dacb8e1ef5d66cece91ac4d4f6d39","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jk/init-core-worktree-at-root' into jch\n\nWe avoid setting core.worktree when the repository location is the\n\".git\" directory directly at the top level of the working tree, but\nthe code misdetected the case in which the working tree is at the\nroot level of the filesystem (which arguably is a silly thing to\ndo, but still valid).\n\n* jk/init-core-worktree-at-root:\n  init: don't set core.worktree when initializing /.git","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/898eb850ee4dacb8e1ef5d66cece91ac4d4f6d39"}]}