{"action":"created","issue":{"url":"https://api.github.com/repos/BobBuildTool/bob/issues/250","repository_url":"https://api.github.com/repos/BobBuildTool/bob","labels_url":"https://api.github.com/repos/BobBuildTool/bob/issues/250/labels{/name}","comments_url":"https://api.github.com/repos/BobBuildTool/bob/issues/250/comments","events_url":"https://api.github.com/repos/BobBuildTool/bob/issues/250/events","html_url":"https://github.com/BobBuildTool/bob/pull/250","id":446640888,"node_id":"MDExOlB1bGxSZXF1ZXN0MjgwODAwNzgx","number":250,"title":"Don't fetch Git commits explicitly","user":{"login":"gruberchr","id":46710001,"node_id":"MDQ6VXNlcjQ2NzEwMDAx","avatar_url":"https://avatars2.githubusercontent.com/u/46710001?v=4","gravatar_id":"","url":"https://api.github.com/users/gruberchr","html_url":"https://github.com/gruberchr","followers_url":"https://api.github.com/users/gruberchr/followers","following_url":"https://api.github.com/users/gruberchr/following{/other_user}","gists_url":"https://api.github.com/users/gruberchr/gists{/gist_id}","starred_url":"https://api.github.com/users/gruberchr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gruberchr/subscriptions","organizations_url":"https://api.github.com/users/gruberchr/orgs","repos_url":"https://api.github.com/users/gruberchr/repos","events_url":"https://api.github.com/users/gruberchr/events{/privacy}","received_events_url":"https://api.github.com/users/gruberchr/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-05-21T14:07:35Z","updated_at":"2019-05-21T17:50:21Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/BobBuildTool/bob/pulls/250","html_url":"https://github.com/BobBuildTool/bob/pull/250","diff_url":"https://github.com/BobBuildTool/bob/pull/250.diff","patch_url":"https://github.com/BobBuildTool/bob/pull/250.patch"},"body":"In pull request #236 checkout script for Git was extended to fetch tags explicitly (see c0034f8). Additionally also commits are now fetched explicitly.\r\n\r\nBut fetching commits explicitly may not be supported by git servers and can be denied, e.g. as follows:\r\n\r\n```\r\nerror: Server does not allow request for unadvertised object\r\n```\r\n\r\nSince we have recipes, which reference specific commits, we suggest to change the behavior of the checkout script to not fetch commits explicitly.\r\n\r\nTypically commits, which should be checked out are reachable by an existing branch and doesn't need to be fetched explicitly. Are there any use cases, where a commit should be checked out, which is not reachable by any branch, e.g. by a tag only which is not on a branch?\r\n\r\nOtherwise the server configuration has to be changed, e.g. by option `uploadpack.allowAnySHA1InWant` (see [git-fetch-pack](https://git-scm.com/docs/git-fetch-pack))"},"comment":{"url":"https://api.github.com/repos/BobBuildTool/bob/issues/comments/494491885","html_url":"https://github.com/BobBuildTool/bob/pull/250#issuecomment-494491885","issue_url":"https://api.github.com/repos/BobBuildTool/bob/issues/250","id":494491885,"node_id":"MDEyOklzc3VlQ29tbWVudDQ5NDQ5MTg4NQ==","user":{"login":"jkloetzke","id":234300,"node_id":"MDQ6VXNlcjIzNDMwMA==","avatar_url":"https://avatars0.githubusercontent.com/u/234300?v=4","gravatar_id":"","url":"https://api.github.com/users/jkloetzke","html_url":"https://github.com/jkloetzke","followers_url":"https://api.github.com/users/jkloetzke/followers","following_url":"https://api.github.com/users/jkloetzke/following{/other_user}","gists_url":"https://api.github.com/users/jkloetzke/gists{/gist_id}","starred_url":"https://api.github.com/users/jkloetzke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkloetzke/subscriptions","organizations_url":"https://api.github.com/users/jkloetzke/orgs","repos_url":"https://api.github.com/users/jkloetzke/repos","events_url":"https://api.github.com/users/jkloetzke/events{/privacy}","received_events_url":"https://api.github.com/users/jkloetzke/received_events","type":"User","site_admin":false},"created_at":"2019-05-21T17:50:21Z","updated_at":"2019-05-21T17:50:21Z","author_association":"MEMBER","body":"> But fetching commits explicitly may not be supported by git servers and can be denied, e.g. as follows:\r\n> error: Server does not allow request for unadvertised object\r\n\r\nOh, I wasn't aware of this behaviour.\r\n\r\n> Since we have recipes, which reference specific commits, we suggest to change the behavior of the checkout script to not fetch commits explicitly.\r\n> Typically commits, which should be checked out are reachable by an existing branch and doesn't need to be fetched explicitly. Are there any use cases, where a commit should be checked out, which is not reachable by any branch, e.g. by a tag only which is not on a branch?\r\n\r\nI didn't have an explicit use case in mind. It was just the idea to support fetching any commit because it looked cheap. Now that it breaks fetches that previously succeeded it is clearly a regression.\r\n\r\n> Otherwise the server configuration has to be changed, e.g. by option uploadpack.allowAnySHA1InWant (see git-fetch-pack)\r\n\r\nI guess that's nothing that Bob can rely on."}}
{"actor":{"display_login":"jkloetzke"}}