{"push_id":2389811898,"size":24,"distinct_size":24,"ref":"refs/heads/master","head":"f30451e8d9f39b0a0663bbff551e4ac3fe83db28","before":"b4824beb7b89d00f181db595e36b2d99a6a695d1","commits":[{"sha":"90546042144f6793796ec9d1eb93e48e71bc2258","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Fix some lint rendering issues when lines prior to other identical lines are removed\n\nSummary: See PHI191. This is a rehash of an earlier fix, but we didn't have a test case for this half yet.\n\nTest Plan:\n  - Added a failing test, made it pass.\n  - Added a linter like the one in PHI191, ran it, got a valid lint result instead of an exception.\n\nReviewers: amckinley\n\nReviewed By: amckinley\n\nDifferential Revision: https://secure.phabricator.com/D18759","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/90546042144f6793796ec9d1eb93e48e71bc2258"},{"sha":"622862e0479956c98cf0327b5bcb17abada6a0ec","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"(stable) Promote 2017 Week 14","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/622862e0479956c98cf0327b5bcb17abada6a0ec"},{"sha":"f4c80a114d3652c9b53a86ab339f4e5b46096415","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Make \"arc land\" prompt on \"Changes Planned\" revisions more explicit\n\nSummary: Fixes T10233. See PHI231. Users sometimes believe this warning is a bug and/or don't understand how they're supposed to resolve it.\n\nTest Plan: Ran `arc land` on a revision in \"Changes Planned\", got a sensible prompt. Ran `arc land` on a revision in another non-accepted state, got more or less the old prompt.\n\nReviewers: amckinley\n\nReviewed By: amckinley\n\nManiphest Tasks: T10233\n\nDifferential Revision: https://secure.phabricator.com/D18807","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/f4c80a114d3652c9b53a86ab339f4e5b46096415"},{"sha":"a3519b8fdefc594cb4aac66ded6977640d7f5999","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"(stable) Promote 2017 Week 48","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/a3519b8fdefc594cb4aac66ded6977640d7f5999"},{"sha":"249f3a80fe77b22b19648ca43c8d266090a8d662","author":{"name":"Alex Vandiver","email":"562c903508f68e4f5208d7dd7135c515999ad017@dropbox.com"},"message":"Default the prompt for \"Amend HEAD with these patches\" to true\n\nSummary:\nMost users, if they have gone through the trouble of\naccepting the auto-fixes, are most likely going to want to take those\nchanges and attempt to land with them.  Assuming \"Y\" for this prompt\nstreamlines for the more likely flow.\n\nTest Plan: `arc lint`\n\nReviewers: #blessed_reviewers, epriestley\n\nReviewed By: #blessed_reviewers, epriestley\n\nSubscribers: Korvin, epriestley\n\nDifferential Revision: https://secure.phabricator.com/D18824","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/249f3a80fe77b22b19648ca43c8d266090a8d662"},{"sha":"9a2541c08d56b68c2337903c37d0f69280ec9fed","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"(stable) Promote 2017 Week 49","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/9a2541c08d56b68c2337903c37d0f69280ec9fed"},{"sha":"c784b569202f23d0ecc61a4900e6ddb99d9925a7","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Make \"arc land\" accommodate a minor API change in Harbormaster build statuses\n\nSummary:\nSee PHI261. Currently \"arc land\" shows every build staus (passed, failed, building, etc) as yellow. Intended behavior is that passed builds are green, failed builds are red, and so on.\n\nThis is because of an unintended API change a while ago in D16356. Since the only impact was a cosmetic color issue, this escaped notice until now.\n\nAdditionally, try to use the modern `harbormaster.build.search` if it is available.\n\nTest Plan:\n  - Ran `arc land` with running builds, got reasonable coloration.\n  - Faked the new method not being available, still got sensible behavior from the old method.\n\nReviewers: amckinley\n\nReviewed By: amckinley\n\nDifferential Revision: https://secure.phabricator.com/D18837","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/c784b569202f23d0ecc61a4900e6ddb99d9925a7"},{"sha":"f34467914ca0e246c94eac1d9393f8639b8dae9d","author":{"name":"Alex Vandiver","email":"562c903508f68e4f5208d7dd7135c515999ad017@dropbox.com"},"message":"Add tests for git submodules, based on current behavior\n\nSummary:\nThis adds tests that detail the current behavior of `arc` in\nthe presence of `git` submodules.\n\nTest Plan: No behavior change; wrote the tests such that they pass.\n\nReviewers: #blessed_reviewers, epriestley\n\nReviewed By: #blessed_reviewers, epriestley\n\nSubscribers: Korvin, epriestley\n\nDifferential Revision: https://secure.phabricator.com/D18841","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/f34467914ca0e246c94eac1d9393f8639b8dae9d"},{"sha":"9144658e695c9aa60aedb3481d39e68ac5cf339a","author":{"name":"Alex Vandiver","email":"562c903508f68e4f5208d7dd7135c515999ad017@dropbox.com"},"message":"Accelerate working tree operations in git\n\nSummary:\nCurrently, `arc` on `git` uses the following commands to examine the\nstate of the working tree and history; example times for a no-op diff in a\n165k-file working tree are also shown:\n\n```\n1)  git diff --no-ext-diff --no-textconv --submodule=short --raw 'fb062d4ecce5d9c1786b7bfc8a0dedf6b11fdd96' --\n  = 1,722,514 us\n\n2a) git diff --no-ext-diff --no-textconv --submodule=short --raw 'HEAD' --\n  = 1,715,507 us\n\n2b) git ls-files --others --exclude-standard\n  = 2,359,202 us\n\n3)  git diff-files --name-only\n  = 1,333,274 us\n```\n\nSteps (2a) and (2b) are run concurrently; this results in a total elapsed\nwallclock time of approximately 5.4 seconds.  This is inefficient -- all four of\nthe above steps must both load the index and examine the working copy, which may\nbe slow operations when large repositories are used.  Additionally, none of the\neffort of those stat calls on the working tree, or load time of the index, is\nshared across the processes.\n\nStep (1) is called from `getCommitRangeStatus`, which was split out in D4095; it\nis currently never called on its own, only ever from `getWorkingCopyStatus`,\nwhere it it combined with `getUncommittedStatus`.  The current behavior of the\nmethod is to return the set of changes //either// in local commits //or//\nuncommitted in the working tree, which duplicates work that\n`getUncommittedStatus` is intended to do.  Changing the behavior of this method\n(in Git, and other VCSes) to only examine _committed_ status seems both inline\nwith the name of the method and the original description of it in D4095 -- and\nalso serves to make it much faster, as it is an operation that need not inspect\nthe working tree at all.\n\nSteps (2a), (2b), and (3) attempt to gather the state of the working copy, and\nas such are all I/O bound but must examine nearly identical data.  For git\n2.11.0 and higher, we can instead rely on the machine-parseable `git status\n--porcelain=2` format, which provides the information from all of these commands\nat once.  It also allows additional performance improvements, as `git status`\nhas been the focus of several optimizations in the latest versions of git (the\nuntracked cache and fsmonitor services, for instance), which are not available\nin the lower-level `diff`, `ls-files`, and `diff-files` commands.\n\nThis has the added benefit of fixing a bug noticed in T9455, in that uncommitted\nor unstaged changes in modules can now be detected, regardless of if they also\nhave changed their base commit.  It further resolves a bug where `.gitmodules`\nappeared to have unstaged changes, when in reality the unstaged changes were in\nsubmodules elsewhere in the tree.\n\nFor backwards compatibility with versions of git < 2.11.0, the old code is left\nin place.  It is possible that the simpler output from v1 of `git status\n--porcelain` would also suffice for some of the above benefits, but the payoff\nof parsing yet another format is deemed insufficient; users wishing improved\nperformance should simply upgrade `git`.\n\nAlltogether, these result in the following, for a no-op diff in a\n165k-working-file tree:\n\n```\n1) git diff --no-ext-diff --no-textconv --submodule=short --raw 'fb062d4ecce5d9c1786b7bfc8a0dedf6b11fdd96' HEAD --\n = 9,227 us\n2) git status --porcelain=2 -z\n = 739,964 us\n```\n\n...for a total of 749ms, an improvement of 4.7s.\n\nDepends on D18841.\n\nTest Plan: Existing tests.\n\nReviewers: #blessed_reviewers, epriestley\n\nReviewed By: #blessed_reviewers, epriestley\n\nSubscribers: Korvin, epriestley\n\nDifferential Revision: https://secure.phabricator.com/D18842","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/9144658e695c9aa60aedb3481d39e68ac5cf339a"},{"sha":"3d06bd4c568c844cf9b42d7c0671a2698cc03899","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Fix a minor 'buildableStatus' error in \"arc land\"\n\nSee D18837. I made a mistake here with rigging this for testing; this line was\nchanged incorrectly.","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/3d06bd4c568c844cf9b42d7c0671a2698cc03899"},{"sha":"08674ca997b62b695f773c32f0c20e51128bc053","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"(stable) Promote 2017 Week 51","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/08674ca997b62b695f773c32f0c20e51128bc053"},{"sha":"2e02332216c692e9bcedfa95d30602173050d7ca","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Add trailing tabs when generating synthetic Git diffs for files with spaces\n\nSummary:\nFixes T8768. See PHI294. See that task for more details.\n\nGit, Mercurial, `diff`, and `patch` have conspired to make things weird. To correctly handle files with spaces in the way everything else does and expects, we need to emit semantic trailing whitespace literals.\n\nTest Plan:\n- Created a file with spaces in it in a Mercurial repositroy, committed it, diffed it into a revision.\n- Used `arc patch` to apply the change to a clean copy of the repository.\n- Before patch: Mercurial incorrectly creates a file named `X`, not a file named `X Y.txt`.\n- After patch: `arc patch` commit is identical to genuine commit.\n- Also added test coverage. The other general behaviors here are fairly well covered already.\n\nReviewers: amckinley\n\nReviewed By: amckinley\n\nManiphest Tasks: T8768\n\nDifferential Revision: https://secure.phabricator.com/D18869","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/2e02332216c692e9bcedfa95d30602173050d7ca"},{"sha":"886f6e6360ac6069ca8b8af12f69523deee6feda","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"(stable) Promote 2018 Week 3","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/886f6e6360ac6069ca8b8af12f69523deee6feda"},{"sha":"349109426c7f9f86bfd295517e61fdf34cdbcbdc","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Clarify what \"--everything\" means in \"arc lint\" and \"arc unit\"\n\nSummary:\nFixes T13061. Both `arc lint` and `arc unit` accept an `--everything` flag, but the documentation isn't quite clear about what these flags do.\n\nThey act as though every //tracked// file in the repository (`git ls-files`, `hg manifest`, or `svn list -R`) is included in the argument list.\n\nThey do not lint/test ignored files (and I think almost all users would be very surprised if they did).\n\nThey also don't lint/test untracked files (files you have not yet used `git add`, `svn add`, or `hg add` on). This is slightly more contentious but we have good reasons for doing it (e.g., `git ls-files` often outperforms `find .` by a large margin) and I believe users very rarely use `--everything` in a situation where they have untracked files. The only real exception I can come up with is linter configuration/development, as in PHI343, and it seems okay to have a slightly surprising behvaior here.\n\nMake the documentation more clear about what is in scope.\n\nWe could also rename these to `--nearly-everything` or whatever, but I think the name is probably clear enough given current information about how confusing this is (specifically: only rarely, in unusual cases).\n\nTest Plan:\n  - Grepped for documentation about these flags.\n  - Ran `arc help lint`, `arc help unit`, `arc unit --everything x`, `arc lint --everything x` and read all the new messages.\n\nReviewers: amckinley\n\nReviewed By: amckinley\n\nManiphest Tasks: T13061\n\nDifferential Revision: https://secure.phabricator.com/D18989","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/349109426c7f9f86bfd295517e61fdf34cdbcbdc"},{"sha":"22b0893473ae5d3b2236254677cf027719af4528","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"(stable) Promote 2018 Week 6","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/22b0893473ae5d3b2236254677cf027719af4528"},{"sha":"be1dd7e2ba230d77f894637fdcbc7d5a47dc7082","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Robustly fuse files together with `arc weld`\n\nSummary: Fixes T8236. I played around with a lot of variations of this but in the end it felt like the simple version was best.\n\nTest Plan: Ran `arc weld a.txt b.txt`, observed very robust fusion of materials.\n\nManiphest Tasks: T8236\n\nDifferential Revision: https://secure.phabricator.com/D19081","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/be1dd7e2ba230d77f894637fdcbc7d5a47dc7082"},{"sha":"8fe1d7701e5daa3b7c8d96847fa335c0fbf66816","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"(stable) Promote 2018 Week 7","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/8fe1d7701e5daa3b7c8d96847fa335c0fbf66816"},{"sha":"551dd2471a83be1ad1802fa1aaf2becc5196afaa","author":{"name":"Reto Buerki","email":"98bade3e8673564bcaf9086859be86cf7029423d@codelabs.ch"},"message":"Add unit test engine and parser for GNATtest","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/551dd2471a83be1ad1802fa1aaf2becc5196afaa"},{"sha":"47576f464be96fe0d5608223fd6df9caeaedb445","author":{"name":"Reto Buerki","email":"98bade3e8673564bcaf9086859be86cf7029423d@codelabs.ch"},"message":"Add GNATtest classes to library map","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/47576f464be96fe0d5608223fd6df9caeaedb445"},{"sha":"d102fa1cc9d0fb22e15611b6eb6ac09fbec6d86b","author":{"name":"Reto Buerki","email":"98bade3e8673564bcaf9086859be86cf7029423d@codelabs.ch"},"message":"Add coverage support to GNAT engine","distinct":true,"url":"https://api.github.com/repos/codelabs-ch/arcanist/commits/d102fa1cc9d0fb22e15611b6eb6ac09fbec6d86b"}]}
{"actor":{"display_login":"reet-"}}