{"action":"created","comment":{"url":"https://api.github.com/repos/bazelbuild/bazel/pulls/comments/90840030","pull_request_review_id":11353665,"id":90840030,"diff_hunk":"@@ -178,8 +190,32 @@ private void actuallyClean(CommandEnvironment env,\n           env.getWorkspaceName(), \"execroot/\" + env.getWorkspaceName() }) {\n         Path child = outputBase.getRelative(directory);\n         if (child.exists()) {\n-          LOG.finest(\"Cleaning \" + child);\n-          FileSystemUtils.deleteTreesBelow(child);\n+          if (cleanOptions.async) {\n+            LOG.finest(\"Cleaning \" + child + \" asynchronously...\");","path":"src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java","position":60,"original_position":60,"commit_id":"2afb45ac98ca28d665536fd21bc969fcb4109070","original_commit_id":"2afb45ac98ca28d665536fd21bc969fcb4109070","user":{"login":"damienmg","id":3721087,"avatar_url":"https://avatars.githubusercontent.com/u/3721087?v=3","gravatar_id":"","url":"https://api.github.com/users/damienmg","html_url":"https://github.com/damienmg","followers_url":"https://api.github.com/users/damienmg/followers","following_url":"https://api.github.com/users/damienmg/following{/other_user}","gists_url":"https://api.github.com/users/damienmg/gists{/gist_id}","starred_url":"https://api.github.com/users/damienmg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damienmg/subscriptions","organizations_url":"https://api.github.com/users/damienmg/orgs","repos_url":"https://api.github.com/users/damienmg/repos","events_url":"https://api.github.com/users/damienmg/events{/privacy}","received_events_url":"https://api.github.com/users/damienmg/received_events","type":"User","site_admin":false},"body":"Can we factor this so we do not have code duplication","created_at":"2016-12-05T10:44:06Z","updated_at":"2016-12-05T10:45:51Z","html_url":"https://github.com/bazelbuild/bazel/pull/2053#discussion_r90840030","pull_request_url":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053","_links":{"self":{"href":"https://api.github.com/repos/bazelbuild/bazel/pulls/comments/90840030"},"html":{"href":"https://github.com/bazelbuild/bazel/pull/2053#discussion_r90840030"},"pull_request":{"href":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053"}}},"pull_request":{"url":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053","id":92648592,"html_url":"https://github.com/bazelbuild/bazel/pull/2053","diff_url":"https://github.com/bazelbuild/bazel/pull/2053.diff","patch_url":"https://github.com/bazelbuild/bazel/pull/2053.patch","issue_url":"https://api.github.com/repos/bazelbuild/bazel/issues/2053","number":2053,"state":"open","locked":false,"title":"Add --async clean independent of expunge","user":{"login":"werkt","id":21398,"avatar_url":"https://avatars.githubusercontent.com/u/21398?v=3","gravatar_id":"","url":"https://api.github.com/users/werkt","html_url":"https://github.com/werkt","followers_url":"https://api.github.com/users/werkt/followers","following_url":"https://api.github.com/users/werkt/following{/other_user}","gists_url":"https://api.github.com/users/werkt/gists{/gist_id}","starred_url":"https://api.github.com/users/werkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/werkt/subscriptions","organizations_url":"https://api.github.com/users/werkt/orgs","repos_url":"https://api.github.com/users/werkt/repos","events_url":"https://api.github.com/users/werkt/events{/privacy}","received_events_url":"https://api.github.com/users/werkt/received_events","type":"User","site_admin":false},"body":"An asynchronous clean without a complete purge and daemon shutdown is\r\nparticularly useful when the daemon takes an inordinate amount of time\r\nto read output files for md5sums.  Incurs a garbage collector invocation\r\nafter cache cleanup in the interest of correct usage reporting.","created_at":"2016-11-07T19:33:39Z","updated_at":"2016-12-05T10:45:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"22cc938c6d6c7fae82e439cccd17acd7abf3fe0b","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053/commits","review_comments_url":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053/comments","review_comment_url":"https://api.github.com/repos/bazelbuild/bazel/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bazelbuild/bazel/issues/2053/comments","statuses_url":"https://api.github.com/repos/bazelbuild/bazel/statuses/2afb45ac98ca28d665536fd21bc969fcb4109070","head":{"label":"werkt:clean_async","ref":"clean_async","sha":"2afb45ac98ca28d665536fd21bc969fcb4109070","user":{"login":"werkt","id":21398,"avatar_url":"https://avatars.githubusercontent.com/u/21398?v=3","gravatar_id":"","url":"https://api.github.com/users/werkt","html_url":"https://github.com/werkt","followers_url":"https://api.github.com/users/werkt/followers","following_url":"https://api.github.com/users/werkt/following{/other_user}","gists_url":"https://api.github.com/users/werkt/gists{/gist_id}","starred_url":"https://api.github.com/users/werkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/werkt/subscriptions","organizations_url":"https://api.github.com/users/werkt/orgs","repos_url":"https://api.github.com/users/werkt/repos","events_url":"https://api.github.com/users/werkt/events{/privacy}","received_events_url":"https://api.github.com/users/werkt/received_events","type":"User","site_admin":false},"repo":{"id":68822266,"name":"bazel","full_name":"werkt/bazel","owner":{"login":"werkt","id":21398,"avatar_url":"https://avatars.githubusercontent.com/u/21398?v=3","gravatar_id":"","url":"https://api.github.com/users/werkt","html_url":"https://github.com/werkt","followers_url":"https://api.github.com/users/werkt/followers","following_url":"https://api.github.com/users/werkt/following{/other_user}","gists_url":"https://api.github.com/users/werkt/gists{/gist_id}","starred_url":"https://api.github.com/users/werkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/werkt/subscriptions","organizations_url":"https://api.github.com/users/werkt/orgs","repos_url":"https://api.github.com/users/werkt/repos","events_url":"https://api.github.com/users/werkt/events{/privacy}","received_events_url":"https://api.github.com/users/werkt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/werkt/bazel","description":"Correct, reproducible, and fast builds for everyone.","fork":true,"url":"https://api.github.com/repos/werkt/bazel","forks_url":"https://api.github.com/repos/werkt/bazel/forks","keys_url":"https://api.github.com/repos/werkt/bazel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/werkt/bazel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/werkt/bazel/teams","hooks_url":"https://api.github.com/repos/werkt/bazel/hooks","issue_events_url":"https://api.github.com/repos/werkt/bazel/issues/events{/number}","events_url":"https://api.github.com/repos/werkt/bazel/events","assignees_url":"https://api.github.com/repos/werkt/bazel/assignees{/user}","branches_url":"https://api.github.com/repos/werkt/bazel/branches{/branch}","tags_url":"https://api.github.com/repos/werkt/bazel/tags","blobs_url":"https://api.github.com/repos/werkt/bazel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/werkt/bazel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/werkt/bazel/git/refs{/sha}","trees_url":"https://api.github.com/repos/werkt/bazel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/werkt/bazel/statuses/{sha}","languages_url":"https://api.github.com/repos/werkt/bazel/languages","stargazers_url":"https://api.github.com/repos/werkt/bazel/stargazers","contributors_url":"https://api.github.com/repos/werkt/bazel/contributors","subscribers_url":"https://api.github.com/repos/werkt/bazel/subscribers","subscription_url":"https://api.github.com/repos/werkt/bazel/subscription","commits_url":"https://api.github.com/repos/werkt/bazel/commits{/sha}","git_commits_url":"https://api.github.com/repos/werkt/bazel/git/commits{/sha}","comments_url":"https://api.github.com/repos/werkt/bazel/comments{/number}","issue_comment_url":"https://api.github.com/repos/werkt/bazel/issues/comments{/number}","contents_url":"https://api.github.com/repos/werkt/bazel/contents/{+path}","compare_url":"https://api.github.com/repos/werkt/bazel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/werkt/bazel/merges","archive_url":"https://api.github.com/repos/werkt/bazel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/werkt/bazel/downloads","issues_url":"https://api.github.com/repos/werkt/bazel/issues{/number}","pulls_url":"https://api.github.com/repos/werkt/bazel/pulls{/number}","milestones_url":"https://api.github.com/repos/werkt/bazel/milestones{/number}","notifications_url":"https://api.github.com/repos/werkt/bazel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/werkt/bazel/labels{/name}","releases_url":"https://api.github.com/repos/werkt/bazel/releases{/id}","deployments_url":"https://api.github.com/repos/werkt/bazel/deployments","created_at":"2016-09-21T13:56:17Z","updated_at":"2016-09-21T13:56:26Z","pushed_at":"2016-11-23T15:04:14Z","git_url":"git://github.com/werkt/bazel.git","ssh_url":"git@github.com:werkt/bazel.git","clone_url":"https://github.com/werkt/bazel.git","svn_url":"https://github.com/werkt/bazel","homepage":"http://bazel.io","size":287829,"stargazers_count":0,"watchers_count":0,"language":"Java","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":"bazelbuild:master","ref":"master","sha":"754a84bbc5c316f99de70e4dbf37b7eb4d6ac4bc","user":{"login":"bazelbuild","id":11684617,"avatar_url":"https://avatars.githubusercontent.com/u/11684617?v=3","gravatar_id":"","url":"https://api.github.com/users/bazelbuild","html_url":"https://github.com/bazelbuild","followers_url":"https://api.github.com/users/bazelbuild/followers","following_url":"https://api.github.com/users/bazelbuild/following{/other_user}","gists_url":"https://api.github.com/users/bazelbuild/gists{/gist_id}","starred_url":"https://api.github.com/users/bazelbuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bazelbuild/subscriptions","organizations_url":"https://api.github.com/users/bazelbuild/orgs","repos_url":"https://api.github.com/users/bazelbuild/repos","events_url":"https://api.github.com/users/bazelbuild/events{/privacy}","received_events_url":"https://api.github.com/users/bazelbuild/received_events","type":"Organization","site_admin":false},"repo":{"id":20773773,"name":"bazel","full_name":"bazelbuild/bazel","owner":{"login":"bazelbuild","id":11684617,"avatar_url":"https://avatars.githubusercontent.com/u/11684617?v=3","gravatar_id":"","url":"https://api.github.com/users/bazelbuild","html_url":"https://github.com/bazelbuild","followers_url":"https://api.github.com/users/bazelbuild/followers","following_url":"https://api.github.com/users/bazelbuild/following{/other_user}","gists_url":"https://api.github.com/users/bazelbuild/gists{/gist_id}","starred_url":"https://api.github.com/users/bazelbuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bazelbuild/subscriptions","organizations_url":"https://api.github.com/users/bazelbuild/orgs","repos_url":"https://api.github.com/users/bazelbuild/repos","events_url":"https://api.github.com/users/bazelbuild/events{/privacy}","received_events_url":"https://api.github.com/users/bazelbuild/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bazelbuild/bazel","description":"Correct, reproducible, and fast builds for everyone.","fork":false,"url":"https://api.github.com/repos/bazelbuild/bazel","forks_url":"https://api.github.com/repos/bazelbuild/bazel/forks","keys_url":"https://api.github.com/repos/bazelbuild/bazel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bazelbuild/bazel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bazelbuild/bazel/teams","hooks_url":"https://api.github.com/repos/bazelbuild/bazel/hooks","issue_events_url":"https://api.github.com/repos/bazelbuild/bazel/issues/events{/number}","events_url":"https://api.github.com/repos/bazelbuild/bazel/events","assignees_url":"https://api.github.com/repos/bazelbuild/bazel/assignees{/user}","branches_url":"https://api.github.com/repos/bazelbuild/bazel/branches{/branch}","tags_url":"https://api.github.com/repos/bazelbuild/bazel/tags","blobs_url":"https://api.github.com/repos/bazelbuild/bazel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bazelbuild/bazel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bazelbuild/bazel/git/refs{/sha}","trees_url":"https://api.github.com/repos/bazelbuild/bazel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bazelbuild/bazel/statuses/{sha}","languages_url":"https://api.github.com/repos/bazelbuild/bazel/languages","stargazers_url":"https://api.github.com/repos/bazelbuild/bazel/stargazers","contributors_url":"https://api.github.com/repos/bazelbuild/bazel/contributors","subscribers_url":"https://api.github.com/repos/bazelbuild/bazel/subscribers","subscription_url":"https://api.github.com/repos/bazelbuild/bazel/subscription","commits_url":"https://api.github.com/repos/bazelbuild/bazel/commits{/sha}","git_commits_url":"https://api.github.com/repos/bazelbuild/bazel/git/commits{/sha}","comments_url":"https://api.github.com/repos/bazelbuild/bazel/comments{/number}","issue_comment_url":"https://api.github.com/repos/bazelbuild/bazel/issues/comments{/number}","contents_url":"https://api.github.com/repos/bazelbuild/bazel/contents/{+path}","compare_url":"https://api.github.com/repos/bazelbuild/bazel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bazelbuild/bazel/merges","archive_url":"https://api.github.com/repos/bazelbuild/bazel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bazelbuild/bazel/downloads","issues_url":"https://api.github.com/repos/bazelbuild/bazel/issues{/number}","pulls_url":"https://api.github.com/repos/bazelbuild/bazel/pulls{/number}","milestones_url":"https://api.github.com/repos/bazelbuild/bazel/milestones{/number}","notifications_url":"https://api.github.com/repos/bazelbuild/bazel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bazelbuild/bazel/labels{/name}","releases_url":"https://api.github.com/repos/bazelbuild/bazel/releases{/id}","deployments_url":"https://api.github.com/repos/bazelbuild/bazel/deployments","created_at":"2014-06-12T16:00:38Z","updated_at":"2016-12-05T04:31:33Z","pushed_at":"2016-12-05T10:28:00Z","git_url":"git://github.com/bazelbuild/bazel.git","ssh_url":"git@github.com:bazelbuild/bazel.git","clone_url":"https://github.com/bazelbuild/bazel.git","svn_url":"https://github.com/bazelbuild/bazel","homepage":"https://bazel.build","size":346185,"stargazers_count":5218,"watchers_count":5218,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":664,"mirror_url":null,"open_issues_count":621,"forks":664,"open_issues":621,"watchers":5218,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053"},"html":{"href":"https://github.com/bazelbuild/bazel/pull/2053"},"issue":{"href":"https://api.github.com/repos/bazelbuild/bazel/issues/2053"},"comments":{"href":"https://api.github.com/repos/bazelbuild/bazel/issues/2053/comments"},"review_comments":{"href":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053/comments"},"review_comment":{"href":"https://api.github.com/repos/bazelbuild/bazel/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bazelbuild/bazel/pulls/2053/commits"},"statuses":{"href":"https://api.github.com/repos/bazelbuild/bazel/statuses/2afb45ac98ca28d665536fd21bc969fcb4109070"}}}}
{"actor":{"display_login":"damienmg"}}