{"action":"created","comment":{"url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/comments/75635093","id":75635093,"diff_hunk":"@@ -254,10 +253,24 @@ def write_token(name, token):\n                 team.url + \"/memberships/\" + new_member\n             )\n \n+    # Update status based on remote\n+    subprocess.check_call(['git', 'checkout', os.environ.get('TRAVIS_BRANCH')])\n+    subprocess.check_call(['git', 'pull', '--rebase', '--autostash'])\n+\n+    # Generate a fresh listing of recipes removed.\n+    # This gets pretty ugly as we parse `git status --porcelain`.\n+    #\n+    # * Each line we get back is a change to a file in the recipe directory.\n+    # * We narrow the list down to recipes that are staged for deletion (ignores examples).\n+    # * Then we clean up the list so that it only has the recipe names.\n+    removed_recipes = subprocess.check_output(['git', 'status', '--porcelain', recipe_directory_name])","path":".CI/create_feedstocks.py","position":41,"original_position":41,"commit_id":"3492feb9d29a17c8f51b00e17b35416081b87096","original_commit_id":"3492feb9d29a17c8f51b00e17b35416081b87096","user":{"login":"patricksnape","id":708474,"avatar_url":"https://avatars.githubusercontent.com/u/708474?v=3","gravatar_id":"","url":"https://api.github.com/users/patricksnape","html_url":"https://github.com/patricksnape","followers_url":"https://api.github.com/users/patricksnape/followers","following_url":"https://api.github.com/users/patricksnape/following{/other_user}","gists_url":"https://api.github.com/users/patricksnape/gists{/gist_id}","starred_url":"https://api.github.com/users/patricksnape/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patricksnape/subscriptions","organizations_url":"https://api.github.com/users/patricksnape/orgs","repos_url":"https://api.github.com/users/patricksnape/repos","events_url":"https://api.github.com/users/patricksnape/events{/privacy}","received_events_url":"https://api.github.com/users/patricksnape/received_events","type":"User","site_admin":false},"body":"Very clever!","created_at":"2016-08-22T08:25:25Z","updated_at":"2016-08-22T08:25:25Z","html_url":"https://github.com/conda-forge/staged-recipes/pull/1322#discussion_r75635093","pull_request_url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322","_links":{"self":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/comments/75635093"},"html":{"href":"https://github.com/conda-forge/staged-recipes/pull/1322#discussion_r75635093"},"pull_request":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322"}}},"pull_request":{"url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322","id":82092708,"html_url":"https://github.com/conda-forge/staged-recipes/pull/1322","diff_url":"https://github.com/conda-forge/staged-recipes/pull/1322.diff","patch_url":"https://github.com/conda-forge/staged-recipes/pull/1322.patch","issue_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/1322","number":1322,"state":"open","locked":false,"title":"WIP: Checkout latest commit before feedstock conversion","user":{"login":"jakirkham","id":3019665,"avatar_url":"https://avatars.githubusercontent.com/u/3019665?v=3","gravatar_id":"","url":"https://api.github.com/users/jakirkham","html_url":"https://github.com/jakirkham","followers_url":"https://api.github.com/users/jakirkham/followers","following_url":"https://api.github.com/users/jakirkham/following{/other_user}","gists_url":"https://api.github.com/users/jakirkham/gists{/gist_id}","starred_url":"https://api.github.com/users/jakirkham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakirkham/subscriptions","organizations_url":"https://api.github.com/users/jakirkham/orgs","repos_url":"https://api.github.com/users/jakirkham/repos","events_url":"https://api.github.com/users/jakirkham/events{/privacy}","received_events_url":"https://api.github.com/users/jakirkham/received_events","type":"User","site_admin":false},"body":"Travis CI has gotten much better about ensuring the specified commit is tested. For a CI service, this is good generally.\r\n\r\nHowever, this behavior is a bit bad for our use case. We don't care which commit we are running as much as we care that we have the current set of recipes. Also we want to avoid reconverting things that are removed or skipping things that were recently added. Not using the latest commit has caused trouble elsewhere like the feedstock listing as can be seen in PR ( https://github.com/conda-forge/conda-forge.github.io/pull/202 ). It is now also causing us problems here.\r\n\r\nTo fix this, we can simply switch to the branch `HEAD` right before starting conversion. Once conversion is completed, we can pull the branch to make sure we have all of the latest changes. To resolve any conflicts (e.g. some recipes have been removed but not all) we can use the stash before and after the pull. This works fine in cases just like this where files are deleted. Tested this exact same strategy locally with a very similar scenario to staged-recipes. We then create a list of the recipes that were removed after this procedure.\r\n\r\nDoing this we should be able to reduce the extra failures on `master` due to race conditions and being restricted to an outdated commit.","created_at":"2016-08-20T23:45:11Z","updated_at":"2016-08-22T08:25:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"91ec609f803a0cb4953ceb94d94a796fd42a5201","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322/commits","review_comments_url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322/comments","review_comment_url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/1322/comments","statuses_url":"https://api.github.com/repos/conda-forge/staged-recipes/statuses/3492feb9d29a17c8f51b00e17b35416081b87096","head":{"label":"jakirkham:conv_latest","ref":"conv_latest","sha":"3492feb9d29a17c8f51b00e17b35416081b87096","user":{"login":"jakirkham","id":3019665,"avatar_url":"https://avatars.githubusercontent.com/u/3019665?v=3","gravatar_id":"","url":"https://api.github.com/users/jakirkham","html_url":"https://github.com/jakirkham","followers_url":"https://api.github.com/users/jakirkham/followers","following_url":"https://api.github.com/users/jakirkham/following{/other_user}","gists_url":"https://api.github.com/users/jakirkham/gists{/gist_id}","starred_url":"https://api.github.com/users/jakirkham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakirkham/subscriptions","organizations_url":"https://api.github.com/users/jakirkham/orgs","repos_url":"https://api.github.com/users/jakirkham/repos","events_url":"https://api.github.com/users/jakirkham/events{/privacy}","received_events_url":"https://api.github.com/users/jakirkham/received_events","type":"User","site_admin":false},"repo":{"id":52331734,"name":"staged-recipes","full_name":"jakirkham/staged-recipes","owner":{"login":"jakirkham","id":3019665,"avatar_url":"https://avatars.githubusercontent.com/u/3019665?v=3","gravatar_id":"","url":"https://api.github.com/users/jakirkham","html_url":"https://github.com/jakirkham","followers_url":"https://api.github.com/users/jakirkham/followers","following_url":"https://api.github.com/users/jakirkham/following{/other_user}","gists_url":"https://api.github.com/users/jakirkham/gists{/gist_id}","starred_url":"https://api.github.com/users/jakirkham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakirkham/subscriptions","organizations_url":"https://api.github.com/users/jakirkham/orgs","repos_url":"https://api.github.com/users/jakirkham/repos","events_url":"https://api.github.com/users/jakirkham/events{/privacy}","received_events_url":"https://api.github.com/users/jakirkham/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jakirkham/staged-recipes","description":"A place to submit conda recipes before they become fully fledged conda-forge feedstocks","fork":true,"url":"https://api.github.com/repos/jakirkham/staged-recipes","forks_url":"https://api.github.com/repos/jakirkham/staged-recipes/forks","keys_url":"https://api.github.com/repos/jakirkham/staged-recipes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jakirkham/staged-recipes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jakirkham/staged-recipes/teams","hooks_url":"https://api.github.com/repos/jakirkham/staged-recipes/hooks","issue_events_url":"https://api.github.com/repos/jakirkham/staged-recipes/issues/events{/number}","events_url":"https://api.github.com/repos/jakirkham/staged-recipes/events","assignees_url":"https://api.github.com/repos/jakirkham/staged-recipes/assignees{/user}","branches_url":"https://api.github.com/repos/jakirkham/staged-recipes/branches{/branch}","tags_url":"https://api.github.com/repos/jakirkham/staged-recipes/tags","blobs_url":"https://api.github.com/repos/jakirkham/staged-recipes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jakirkham/staged-recipes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jakirkham/staged-recipes/git/refs{/sha}","trees_url":"https://api.github.com/repos/jakirkham/staged-recipes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jakirkham/staged-recipes/statuses/{sha}","languages_url":"https://api.github.com/repos/jakirkham/staged-recipes/languages","stargazers_url":"https://api.github.com/repos/jakirkham/staged-recipes/stargazers","contributors_url":"https://api.github.com/repos/jakirkham/staged-recipes/contributors","subscribers_url":"https://api.github.com/repos/jakirkham/staged-recipes/subscribers","subscription_url":"https://api.github.com/repos/jakirkham/staged-recipes/subscription","commits_url":"https://api.github.com/repos/jakirkham/staged-recipes/commits{/sha}","git_commits_url":"https://api.github.com/repos/jakirkham/staged-recipes/git/commits{/sha}","comments_url":"https://api.github.com/repos/jakirkham/staged-recipes/comments{/number}","issue_comment_url":"https://api.github.com/repos/jakirkham/staged-recipes/issues/comments{/number}","contents_url":"https://api.github.com/repos/jakirkham/staged-recipes/contents/{+path}","compare_url":"https://api.github.com/repos/jakirkham/staged-recipes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jakirkham/staged-recipes/merges","archive_url":"https://api.github.com/repos/jakirkham/staged-recipes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jakirkham/staged-recipes/downloads","issues_url":"https://api.github.com/repos/jakirkham/staged-recipes/issues{/number}","pulls_url":"https://api.github.com/repos/jakirkham/staged-recipes/pulls{/number}","milestones_url":"https://api.github.com/repos/jakirkham/staged-recipes/milestones{/number}","notifications_url":"https://api.github.com/repos/jakirkham/staged-recipes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jakirkham/staged-recipes/labels{/name}","releases_url":"https://api.github.com/repos/jakirkham/staged-recipes/releases{/id}","deployments_url":"https://api.github.com/repos/jakirkham/staged-recipes/deployments","created_at":"2016-02-23T05:05:10Z","updated_at":"2016-05-17T17:40:28Z","pushed_at":"2016-08-22T05:54:48Z","git_url":"git://github.com/jakirkham/staged-recipes.git","ssh_url":"git@github.com:jakirkham/staged-recipes.git","clone_url":"https://github.com/jakirkham/staged-recipes.git","svn_url":"https://github.com/jakirkham/staged-recipes","homepage":"https://conda-forge.github.io/","size":3977,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"conda-forge:master","ref":"master","sha":"c4dc021baee087ccdf92589526498cc2140d3e94","user":{"login":"conda-forge","id":11897326,"avatar_url":"https://avatars.githubusercontent.com/u/11897326?v=3","gravatar_id":"","url":"https://api.github.com/users/conda-forge","html_url":"https://github.com/conda-forge","followers_url":"https://api.github.com/users/conda-forge/followers","following_url":"https://api.github.com/users/conda-forge/following{/other_user}","gists_url":"https://api.github.com/users/conda-forge/gists{/gist_id}","starred_url":"https://api.github.com/users/conda-forge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/conda-forge/subscriptions","organizations_url":"https://api.github.com/users/conda-forge/orgs","repos_url":"https://api.github.com/users/conda-forge/repos","events_url":"https://api.github.com/users/conda-forge/events{/privacy}","received_events_url":"https://api.github.com/users/conda-forge/received_events","type":"Organization","site_admin":false},"repo":{"id":41829476,"name":"staged-recipes","full_name":"conda-forge/staged-recipes","owner":{"login":"conda-forge","id":11897326,"avatar_url":"https://avatars.githubusercontent.com/u/11897326?v=3","gravatar_id":"","url":"https://api.github.com/users/conda-forge","html_url":"https://github.com/conda-forge","followers_url":"https://api.github.com/users/conda-forge/followers","following_url":"https://api.github.com/users/conda-forge/following{/other_user}","gists_url":"https://api.github.com/users/conda-forge/gists{/gist_id}","starred_url":"https://api.github.com/users/conda-forge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/conda-forge/subscriptions","organizations_url":"https://api.github.com/users/conda-forge/orgs","repos_url":"https://api.github.com/users/conda-forge/repos","events_url":"https://api.github.com/users/conda-forge/events{/privacy}","received_events_url":"https://api.github.com/users/conda-forge/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/conda-forge/staged-recipes","description":"A place to submit conda recipes before they become fully fledged conda-forge feedstocks","fork":false,"url":"https://api.github.com/repos/conda-forge/staged-recipes","forks_url":"https://api.github.com/repos/conda-forge/staged-recipes/forks","keys_url":"https://api.github.com/repos/conda-forge/staged-recipes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/conda-forge/staged-recipes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/conda-forge/staged-recipes/teams","hooks_url":"https://api.github.com/repos/conda-forge/staged-recipes/hooks","issue_events_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/events{/number}","events_url":"https://api.github.com/repos/conda-forge/staged-recipes/events","assignees_url":"https://api.github.com/repos/conda-forge/staged-recipes/assignees{/user}","branches_url":"https://api.github.com/repos/conda-forge/staged-recipes/branches{/branch}","tags_url":"https://api.github.com/repos/conda-forge/staged-recipes/tags","blobs_url":"https://api.github.com/repos/conda-forge/staged-recipes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/conda-forge/staged-recipes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/conda-forge/staged-recipes/git/refs{/sha}","trees_url":"https://api.github.com/repos/conda-forge/staged-recipes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/conda-forge/staged-recipes/statuses/{sha}","languages_url":"https://api.github.com/repos/conda-forge/staged-recipes/languages","stargazers_url":"https://api.github.com/repos/conda-forge/staged-recipes/stargazers","contributors_url":"https://api.github.com/repos/conda-forge/staged-recipes/contributors","subscribers_url":"https://api.github.com/repos/conda-forge/staged-recipes/subscribers","subscription_url":"https://api.github.com/repos/conda-forge/staged-recipes/subscription","commits_url":"https://api.github.com/repos/conda-forge/staged-recipes/commits{/sha}","git_commits_url":"https://api.github.com/repos/conda-forge/staged-recipes/git/commits{/sha}","comments_url":"https://api.github.com/repos/conda-forge/staged-recipes/comments{/number}","issue_comment_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues/comments{/number}","contents_url":"https://api.github.com/repos/conda-forge/staged-recipes/contents/{+path}","compare_url":"https://api.github.com/repos/conda-forge/staged-recipes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/conda-forge/staged-recipes/merges","archive_url":"https://api.github.com/repos/conda-forge/staged-recipes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/conda-forge/staged-recipes/downloads","issues_url":"https://api.github.com/repos/conda-forge/staged-recipes/issues{/number}","pulls_url":"https://api.github.com/repos/conda-forge/staged-recipes/pulls{/number}","milestones_url":"https://api.github.com/repos/conda-forge/staged-recipes/milestones{/number}","notifications_url":"https://api.github.com/repos/conda-forge/staged-recipes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/conda-forge/staged-recipes/labels{/name}","releases_url":"https://api.github.com/repos/conda-forge/staged-recipes/releases{/id}","deployments_url":"https://api.github.com/repos/conda-forge/staged-recipes/deployments","created_at":"2015-09-02T21:49:20Z","updated_at":"2016-08-12T11:17:01Z","pushed_at":"2016-08-22T08:23:15Z","git_url":"git://github.com/conda-forge/staged-recipes.git","ssh_url":"git@github.com:conda-forge/staged-recipes.git","clone_url":"https://github.com/conda-forge/staged-recipes.git","svn_url":"https://github.com/conda-forge/staged-recipes","homepage":"https://conda-forge.github.io/","size":5551,"stargazers_count":32,"watchers_count":32,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":172,"mirror_url":null,"open_issues_count":146,"forks":172,"open_issues":146,"watchers":32,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322"},"html":{"href":"https://github.com/conda-forge/staged-recipes/pull/1322"},"issue":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/issues/1322"},"comments":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/issues/1322/comments"},"review_comments":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322/comments"},"review_comment":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/pulls/1322/commits"},"statuses":{"href":"https://api.github.com/repos/conda-forge/staged-recipes/statuses/3492feb9d29a17c8f51b00e17b35416081b87096"}}}}
{"actor":{"display_login":"patricksnape"}}