{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":58146669,"defaultBranch":"main","name":"sapling","ownerLogin":"facebook","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-05-05T16:53:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/69631?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714584961.0","currentOid":""},"activityList":{"items":[{"before":"ce0a07bfbb5462cab51845d18c23aedd7fbebf90","after":"15bad052f2a79c184f0e2c76956280b6eca1425c","ref":"refs/heads/main","pushedAt":"2024-05-30T05:07:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add `NotAvailable` SubmoduleDeps variant\n\nSummary:\nIntroduce an enum variant to SubmoduleDeps to specify when any submodule dependencies were not able to be loaded.\n\nThis will be used in the next diff (D57913718) to stop failing open when submodule dependencies are not available during RepoContext creation.\n\nCurrently the new variant will behave the same as `NotAvailable` in all callsites, but I prefer to err on the side of being more granular and using the type to differentiate each scenario.\n\nReviewed By: RajivTS\n\nDifferential Revision: D57914680\n\nfbshipit-source-id: 4bd7f926ef8e76252d8d1e5b900eb678fe3c6fab","shortMessageHtmlLink":"Add NotAvailable SubmoduleDeps variant"}},{"before":"3ca137686677ac879108d73f6f886793903a6ea1","after":"ce0a07bfbb5462cab51845d18c23aedd7fbebf90","ref":"refs/heads/main","pushedAt":"2024-05-30T03:01:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"config: automatically create directory for config files\n\nSummary: In some cases Sapling's config file can be created automatically through the `_auto_username` function in `ui.py`. If the parent directory doesn't exist some commands error out, which this diff fixes\n\nReviewed By: muirdm\n\nDifferential Revision: D57936680\n\nfbshipit-source-id: fcd84971fbea0db55a7eaa63c044f2fc8f7df9de","shortMessageHtmlLink":"config: automatically create directory for config files"}},{"before":"742a65893c5c1303a55cb63dc53fb521a35c25db","after":"001b2481dcad102c2c82b1845923e726d39dcae4","ref":"refs/heads/gh-pages","pushedAt":"2024-05-30T00:05:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 3ca137686677ac879108d73f6f886793903a6ea1","shortMessageHtmlLink":"deploy: 3ca1376"}},{"before":"2d621137e64d1bd324407cf3a5558d0c254f539a","after":"3ca137686677ac879108d73f6f886793903a6ea1","ref":"refs/heads/main","pushedAt":"2024-05-29T22:31:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"show selection in changes to commit\n\nSummary: it was a little confusing to show the total file count of uncommited changes when there is only a couple files selected. this diff adds the selection count if needed. if all the files are selected (partially or fully) then it will just show the total\n\nDifferential Revision: D57920656\n\nfbshipit-source-id: 4f2563c5d85e215a2797c1fa947ddbe72f3229f3","shortMessageHtmlLink":"show selection in changes to commit"}},{"before":"eb5832137b80a4fb6cdf2cf751e646212e25d4e3","after":"2d621137e64d1bd324407cf3a5558d0c254f539a","ref":"refs/heads/main","pushedAt":"2024-05-29T21:40:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"io: add method to reset terminal\n\nSummary:\nAdd a method to reset the terminal (and call it from the ctrl-c handler). This should help get the terminal back to a good state after when you ctrl-c out of Python readline operations (or other things that change terminal settings).\n\nIn particular, we make sure the cursor is visible and reset termios settings. This is a subset of what termwiz UnixTerminal does to reset the terminal (when dropped).\n\nReviewed By: quark-zju\n\nDifferential Revision: D57890781\n\nfbshipit-source-id: 482d72ae8d471ae1807ea8a827308da8daf61740","shortMessageHtmlLink":"io: add method to reset terminal"}},{"before":"036035ff53bce7914d188c156c49553ba37f8611","after":"eb5832137b80a4fb6cdf2cf751e646212e25d4e3","ref":"refs/heads/main","pushedAt":"2024-05-29T21:05:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"add `eden mount --all`\n\nSummary: Added '--all' as a flag for 'mount', which will look for all of the users' unmounted checkouts and attempt to remount all of them.\n\nReviewed By: kmancini\n\nDifferential Revision: D57703002\n\nfbshipit-source-id: dfa521479909ccec69b37912c6fd7fb8226ad9ab","shortMessageHtmlLink":"add eden mount --all"}},{"before":"9f188cba3d1dd3b06ba0202875d312c6639eac87","after":"036035ff53bce7914d188c156c49553ba37f8611","ref":"refs/heads/main","pushedAt":"2024-05-29T20:59:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"identity: fix repo root sniffing of in-repo symlinks\n\nSummary:\nIn D57614169 I tried to make symlinks _into_ a repo work as `--cwd`:\n\n```\n~/repo\n\n~/link -> repo/dir\n\nsl --cwd ~/link root\n(reports \"~/repo\")\n```\n\nHowever, this broke commands run for symlinks within a repo:\n```\n~/repo/link -> /tmp\n\nsl --cwd ~/repo/link root\n(error - no repo found)\n```\n\nFix by restoring the previous behavior of always checking the \"lexical\" path before following symlinks. If we don't find a repo, then we try resolving the deepest symlink and trying once more. I limited to a single symlink resolution since that seems reasonable, and avoids O(n^2) behavior.\n\nS421765\n\nReviewed By: quark-zju\n\nDifferential Revision: D57921654\n\nfbshipit-source-id: 29e9625aa0fb77f53ea370e030225b928aac4004","shortMessageHtmlLink":"identity: fix repo root sniffing of in-repo symlinks"}},{"before":"5ca915ad357fb4673e17af38dfa421c5fde8769f","after":"9f188cba3d1dd3b06ba0202875d312c6639eac87","ref":"refs/heads/main","pushedAt":"2024-05-29T19:56:18.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"bisect: implement a more efficient bisect algorithm\n\nSummary:\nThe current bisect algorithm does not play well with lazy changelog. It has a\nO(bisect-range) compleixty to download commit hashes, and antoher O(bisect-range)\nfor testing a lazy skip revset.\n\nThe new algorithm avoids the O(bisect-range) complexity:\n- Use fast native dag algorithms to avoid downloading the commit hashes as much\n as possible.\n- If a lazy \"skip\" revset is used, look commits around the \"best\" and use early\n return. Its worst case is still O(biset-range), but if the skip set is small\n then hopefully a better practical UX.\n\nThis is based on a workaround script I worte in 2022 (P496941136), updated to\nsupport the lazy \"skip\" revset.\n\nReviewed By: zzl0\n\nDifferential Revision: D57888302\n\nfbshipit-source-id: 212dfcfad708065e24d2048886b7596c516b1825","shortMessageHtmlLink":"bisect: implement a more efficient bisect algorithm"}},{"before":"7acd73c46c963a89425539c0c2e14d8903a13620","after":"5ca915ad357fb4673e17af38dfa421c5fde8769f","ref":"refs/heads/main","pushedAt":"2024-05-29T18:01:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix OSS build\n\nSummary:\nI think the OSS build didn't run on D57859611, so this went through to the OSS\nbuild\n\nReviewed By: RajivTS\n\nDifferential Revision: D57913869\n\nfbshipit-source-id: 88c489448fa5b94574c9fcb0db3abc8083056a6c","shortMessageHtmlLink":"Fix OSS build"}},{"before":"d4534d30ca56f6a4f38570df22a97c2887a1d1ca","after":"7acd73c46c963a89425539c0c2e14d8903a13620","ref":"refs/heads/main","pushedAt":"2024-05-29T17:43:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"onKeyPress => onKeyUp\n\nSummary: onKeyPress has been deprecated.\n\nDifferential Revision: D57916836\n\nfbshipit-source-id: 167617aec7feb2069239542fdbe204f5c865e775","shortMessageHtmlLink":"onKeyPress => onKeyUp"}},{"before":"b26ea5e33faf64a0ea71255b29e4139fee32af67","after":"d4534d30ca56f6a4f38570df22a97c2887a1d1ca","ref":"refs/heads/main","pushedAt":"2024-05-29T16:38:32.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"add badge for SLOC next to files changed\n\nSummary: when viewing the commit info details in ISL, you can see the files changed, this diff also adds SLOC to that as well\n\nReviewed By: quark-zju\n\nDifferential Revision: D57890113\n\nfbshipit-source-id: 895ab54a9e8e7610beb936e55f023f51ccddaff8","shortMessageHtmlLink":"add badge for SLOC next to files changed"}},{"before":"65a827cc39b25f7f0a1a090e70aee16b24ecef3c","after":"b26ea5e33faf64a0ea71255b29e4139fee32af67","ref":"refs/heads/main","pushedAt":"2024-05-29T16:28:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Modify `eden clone` to identify if an EdenFS mount exists within a backing repository\n\nSummary:\nIn continuation of D57674066\n\n## Background\nWhen using EdenFS, repos use a special Mercurial sharing mechanism where an empty Mercurial repository is cloned on disk to store the repository history (backing repo), while the EdenFS repo itself is a clone of this backing repo. If an EdenFS repo is accidentally cloned within another EdenFS repo's backing repo, it can cause issues with the user's machine becoming unresponsive or extremely slow.\n\n## Solution\nAdd checks in clone commands to avoid/rectify such scenarios\n- clone: throw error if the target path is inside any of the backing repo(s)\n\nAlso recommend users to use `eden rm` to remove such misplaced mounts.\n\n## Tracking\n[Scuba](https://fburl.com/scuba/edenfs_events/pk0k9ik2)\n\nReviewed By: kmancini\n\nDifferential Revision: D57825554\n\nfbshipit-source-id: 9db941223aed7b609244ebc5da21bf3c61d3e27c","shortMessageHtmlLink":"Modify eden clone to identify if an EdenFS mount exists within a ba…"}},{"before":"cc6f7152f07c78853d49f2c2e8cd82875f4baa7a","after":"65a827cc39b25f7f0a1a090e70aee16b24ecef3c","ref":"refs/heads/main","pushedAt":"2024-05-29T15:25:50.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"affected_changesets: Only load and check each changeset once\n\nSummary:\nIn the parent diff (D57906014), we stopped loading all changesets at once in memory to solve the problem of OOMs.\n\nOne problem is that this may mean we have to load the same changesets many times since we're not keeping that state in memory.\n\nInstead, store the hashes of already checked changesets and make sure to never reload them again.\n\nWe are still storing up to `O(repo)` data, but it's hashes instead of full changesets, so the memory cost of this optimization\nis `O(repo)` instead of `O(repo)*changeset size`.\n\nThis shouldn't OOM in the context of gitimport where the largest repos contain a few million commits.\n\nIn other contexts, we don't expect branches to be very far away from public commits. We still have a hard-coded limit at 200_000 changesets too for these cases.\n\nReviewed By: gustavoavena\n\nDifferential Revision: D57906011\n\nfbshipit-source-id: 1ebc0949225cf50795f4db758157a7b0a585dbd0","shortMessageHtmlLink":"affected_changesets: Only load and check each changeset once"}},{"before":"a4dac3470daef2843ee6783be584656c7dcd7fb2","after":"cc6f7152f07c78853d49f2c2e8cd82875f4baa7a","ref":"refs/heads/main","pushedAt":"2024-05-29T15:20:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"tools/admin: improve listing of manifests\n\nSummary:\nGeneralize listing of manifests in the admin tool so that we can choose whether to recursively list any manifest type, and easily customize how manifests are displayed.\n\nSince we now list a single manifest by default (unless `--recursive` is specified), I have renamed the command to `list-manifest`.\n\nDifferential Revision: D55075371\n\nfbshipit-source-id: 5fb4e5197453946b372e3f00dfd83913b00676ca","shortMessageHtmlLink":"tools/admin: improve listing of manifests"}},{"before":"6c128a981430971137b3010dfa9855ba1b0dce5a","after":"a4dac3470daef2843ee6783be584656c7dcd7fb2","ref":"refs/heads/main","pushedAt":"2024-05-29T15:03:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Stop copying blobs from submodules to small repo's blobstore\n\nSummary:\n## What\nStop copying file content blobs from submodule repos to small repo's blobstore.\n\n## Why\nThis is taking significant time during the initial import of a large repo and **it's unnecessary**, because the blobs were only being copied to the small repo **so they could be copied from it to the large repo** before saving the large repo bonsai.\n\n## How\n- Update `CommitRewriteResult` (introduced in D57907912) to also store a map from submodule repo to a set of content ids that have to be copied from it.\n- In the same place where the files are copied from the small repo to the large repo, also copy the blobs from each submodule repo to the large repo.\n\n## Notes\n- In the `expand.rs` module I'm cloning the submodule path to construct every `ExpansionFileChange::Generated` instance. This isn't great, but it's clearly significantly faster that unnecessarily copying blobs to the small repo's blobstore.\n - It might be possible to avoid doing this, but it will likely be a way more complex change that will require time I don't think is worth spending right now.\n\nDifferential Revision: D57764277\n\nfbshipit-source-id: 413356392ae0894b3b711944156870a4af9ebf6d","shortMessageHtmlLink":"Stop copying blobs from submodules to small repo's blobstore"}},{"before":"3fb7c542a0bc98a422868b67dc97d25630b0a1af","after":"6c128a981430971137b3010dfa9855ba1b0dce5a","ref":"refs/heads/main","pushedAt":"2024-05-29T13:43:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"scs_server: enable scuba sampling for all methods based on JK value\n\nSummary: Add scuba sampling to all SCS methods based on the value of a new JK (`scm/mononoke:scs_method_sampling_rate`).\n\nReviewed By: andreacampi\n\nDifferential Revision: D57908355\n\nfbshipit-source-id: ee8ab6190cd17426eeb8299cff0854f4fd2f071e","shortMessageHtmlLink":"scs_server: enable scuba sampling for all methods based on JK value"}},{"before":"13d4ad2999e400d9d3500d04f100841166f68a3f","after":"3fb7c542a0bc98a422868b67dc97d25630b0a1af","ref":"refs/heads/main","pushedAt":"2024-05-29T10:44:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix lint warnings\n\nSummary:\nJust fixing some lint warnings that are annoying when we use rust-check in\n`eden/mononoke/...`.\n\nDifferential Revision: D57904433\n\nfbshipit-source-id: cab2ac021a9faef432833bf26e9c06ed1543e9d2","shortMessageHtmlLink":"Fix lint warnings"}},{"before":"df698ed193c1832580fb5bee5182112b0b113e1f","after":"13d4ad2999e400d9d3500d04f100841166f68a3f","ref":"refs/heads/main","pushedAt":"2024-05-29T10:32:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"skeleton of RE CAS client\n\nSummary: skeleton of RE CAS client for Source Control\n\nReviewed By: markbt\n\nDifferential Revision: D57859611\n\nfbshipit-source-id: 43a05441c0821cf67522bea04b7f3f84712a3b57","shortMessageHtmlLink":"skeleton of RE CAS client"}},{"before":"130274ead6cb767c79b2f140bb22542fa47815d9","after":"df698ed193c1832580fb5bee5182112b0b113e1f","ref":"refs/heads/main","pushedAt":"2024-05-29T09:53:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Prevent self-referential deltas in Mononoke GRit server\n\nSummary: In D57858806, we fixed the potential for creating deltas in `GitDeltaManifest` where the base object is the same as the target object (i.e. a self referential delta). However, this will fix all manifests that will get generated in the future and won't address the existing ones. For all such cases, we can modify the packfile stream generator in git protocol to skip over such self-referential deltas to prevent git erroring out due to delta cycles.\n\nReviewed By: gustavoavena\n\nDifferential Revision: D57872707\n\nfbshipit-source-id: 5209b2b279fd2d0d0921aef19afb92439c20d14f","shortMessageHtmlLink":"Prevent self-referential deltas in Mononoke GRit server"}},{"before":"42cc49465d69474183bf0b3209a33295bbaadf4b","after":"130274ead6cb767c79b2f140bb22542fa47815d9","ref":"refs/heads/main","pushedAt":"2024-05-29T09:16:13.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"manifest: introduce `list_skip` to efficiently skip entries in sharded maps\n\nSummary: For sharded maps, `skip` should not even load the skipped entries. To make this work we need to implement `list_skip` as a dedicated method.\n\nReviewed By: liubov-dmitrieva\n\nDifferential Revision: D56064399\n\nfbshipit-source-id: 2e79c0568c91a6d71917017729da95febff0fe7c","shortMessageHtmlLink":"manifest: introduce list_skip to efficiently skip entries in sharde…"}},{"before":"493abd5199ba0d8e01986475823208adb2681e0e","after":"42cc49465d69474183bf0b3209a33295bbaadf4b","ref":"refs/heads/main","pushedAt":"2024-05-29T05:57:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Migrate cfgr fbpkgs to fbpkg.builder\n\nSummary:\nTo enable complete Contbuild deprecation, we need to first migrate cfgr-based fbpkgs to `fbpkg.builder`, which will allow Conveyor to build them\n\nThis diff creates the `fbpkg.builder` for a batch of these fbpkgs\n\nDifferential Revision: D57576406\n\nfbshipit-source-id: d4691247c308a7085c915a395c67a19651a258a6","shortMessageHtmlLink":"Migrate cfgr fbpkgs to fbpkg.builder"}},{"before":"5a03f782b4859c6d841afe665b89c13e159d5190","after":"493abd5199ba0d8e01986475823208adb2681e0e","ref":"refs/heads/main","pushedAt":"2024-05-29T01:23:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"tests: change home for EdenFS in .t tests\n\nSummary:\nCurrently `.t` tests get the appropriate EdenFS command and environment variables from EdenFS integration tests `get_edenfsctl_cmd_env` method.\nThe command returned forces EdenFS CLI to use a home directory outside of `$TESTTMP` (aka, `$HOME`), which gets annoying to use when trying to do local changes that can affect EdenFS, for instance, changing local config values.\n\nThis diff makes running EdenFS commands use `$TESTTMP` as the home directory instead of the previous home directory set by `get_edenfsctl_cmd_env`\n\nReviewed By: zzl0\n\nDifferential Revision: D57880803\n\nfbshipit-source-id: 3d6eb6b9df7cbbb0fd6de0dd0e8c9f0678a591d9","shortMessageHtmlLink":"tests: change home for EdenFS in .t tests"}},{"before":"f3ae7dbc7a044f2d1627a8a2784b1572a2b8a978","after":"742a65893c5c1303a55cb63dc53fb521a35c25db","ref":"refs/heads/gh-pages","pushedAt":"2024-05-29T00:05:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 5a03f782b4859c6d841afe665b89c13e159d5190","shortMessageHtmlLink":"deploy: 5a03f78"}},{"before":"4c7de13d165572445cfbdb0306d693dd02e6edcf","after":"5a03f782b4859c6d841afe665b89c13e159d5190","ref":"refs/heads/main","pushedAt":"2024-05-28T23:54:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Hard code callsite info for callsites (1/2)\n\nSummary:\nWe need the callsite data to map consumption of configs and the consumption of callsites. Given that adding a hardcoded string is much easier than figuring out stacktrack parsing and its performance implications, this diff just hard coded those values manually by going through https://fburl.com/scuba/configo_mutations/kvsxpgfb\n\nThis covers most cases in fbcode, with the exception of a haskell callsite which I have trouble understanding, and a callsite in www\n\nReviewed By: joerromano\n\nDifferential Revision: D57802819\n\nfbshipit-source-id: 4566062e5af718a253b3a6a6d69ffb122e6c36b4","shortMessageHtmlLink":"Hard code callsite info for callsites (1/2)"}},{"before":"a5f5017b13b1d991a5d5d47331c8aeccaaeb0524","after":"4c7de13d165572445cfbdb0306d693dd02e6edcf","ref":"refs/heads/main","pushedAt":"2024-05-28T23:47:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Prevent delta cycles due to filemode change in Mononoke GRit server\n\nSummary:\nWhen deriving `GitDeltaManifest`, we perform `manifest_diff` on the current commit's `GitTree` with the parent commit's `GitTree`. This is supposed to give us everything that got added, removed or modified in the current commit.\n\nEvery change that we come across as a result of this manifest_diff is expressed as a delta (as long as it fits the criteria) with the underlying assumption that there is a change in content. However, the user can simply update the filemode of a file (e.g. by making it executable) which doesn't update the content but still shows up as a change in the response of `manifest_diff`. In such a case, we try to express the same version of a file (with hash H) as a delta of the previous version of this file (also with hash H). This obviously leads to delta cycle. This problem was discovered when performing incremental pulls of `oculus/aosp/vendor/oculus` repo.\n\nThis diff performs an additional check when deriving GitDeltaManifest to ensure that we don't include delta entries where the base and target are the same hash.\n\nNOTE: This diff itself will not retroactively fix all the `GitDeltaManifest` derivations for past commits. This is strictly a forward fix which would especially be important for `GitDeltaManifestV2`\n\nDifferential Revision: D57858806\n\nfbshipit-source-id: 2bde3d20647b7954d1009b5453f8d08276b91f60","shortMessageHtmlLink":"Prevent delta cycles due to filemode change in Mononoke GRit server"}},{"before":"2a5a879b59f0e6ab30da79257d8be63672a34720","after":"a5f5017b13b1d991a5d5d47331c8aeccaaeb0524","ref":"refs/heads/main","pushedAt":"2024-05-28T21:37:36.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"dag: implement size_hint for MetaSet\n\nSummary: The MetaSet can use the underlying set to answer size_hint.\n\nReviewed By: zzl0\n\nDifferential Revision: D57795852\n\nfbshipit-source-id: 7da0b59bfcb8cecdba517544f64ebf38a91f1d1d","shortMessageHtmlLink":"dag: implement size_hint for MetaSet"}},{"before":"ee2cba28c6c24ab4a1510853db641e58c445a3f0","after":"2a5a879b59f0e6ab30da79257d8be63672a34720","ref":"refs/heads/main","pushedAt":"2024-05-28T17:02:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fallback to small repo blobstore in InMemoryRepo reads\n\nSummary:\n## Problem\nThe logs show that a significant amount of CPU time during the initial-import is spent copying file content blobs between small repo, submodule repos and large repo.\n\n## Context\nThere are 2 places we copy in the `expand.rs` module. This diff deals with the first one (seems to be most problematic):\n\nwhere we copy all blobs from the expansion from small repo to large repo blobstore before finishing the expansion logic.\n\nWe do this **because the large repo needs to have the file contents from the new expansion files to derive fsnodes for expansion validation**.\n\n## Solution\nThis copy can be avoided by modifying the `InMemoryRepo` to take fallback repos which the inner repo (i.e. large repo) will fallback to when reading from the blobstore. We then pass the small repo and all the submodule dependencies as the fallback repos.\n\nThis way, we don't need to keep copying blobs in advance.\n\nDifferential Revision: D57722367\n\nfbshipit-source-id: f81e0f81b362785fbf1f46bb54f5cc58cb80791a","shortMessageHtmlLink":"Fallback to small repo blobstore in InMemoryRepo reads"}},{"before":"3afa08aaa22a7172760ead030079a24a41cc30eb","after":"ee2cba28c6c24ab4a1510853db641e58c445a3f0","ref":"refs/heads/main","pushedAt":"2024-05-28T16:42:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Updating submodules\n\nSummary:\nGitHub commits:\n\nhttps://github.com/facebook/buck2-prelude/commit/72e7b090d59eb315ff43c61019de5e60a127baf6\nhttps://github.com/facebook/fb303/commit/3f8aea89937ceac777f5a5fb28fa1280ff3f277a\nhttps://github.com/facebook/fbthrift/commit/bc664cd54b990135947cf73b5728fce80de781b3\nhttps://github.com/facebook/folly/commit/9bcbc8567e7358bd417465d98d2be1ad82666816\nhttps://github.com/facebook/mvfst/commit/d00cd9cb2a845ae403f1bc7cfeee77b2e7ae49db\nhttps://github.com/facebook/proxygen/commit/4893905f4d63f752e6969e93578debfbe325ea7f\nhttps://github.com/facebook/wangle/commit/636e529b66622d5538c5a431200b59a98a638133\nhttps://github.com/facebookexperimental/rust-shed/commit/56c05d734e7d5b080ca2f4c411809195de218b6b\n\nReviewed By: namanahuja\n\nfbshipit-source-id: 4963ed6cc75fe80a8fe0eb422eb2f974f7405b9d","shortMessageHtmlLink":"Updating submodules"}},{"before":"469f75e332fefef3e35b9be7617ac1021b9ef224","after":"3afa08aaa22a7172760ead030079a24a41cc30eb","ref":"refs/heads/main","pushedAt":"2024-05-28T16:36:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Replace slog with tracing\n\nSummary: Removed the logger argument from mononoke helper function and replaced slogging with tracing\n\nReviewed By: MagnificRogue\n\nDifferential Revision: D57756058\n\nfbshipit-source-id: 00add8bc848e0c572cb6e4fb78710b51db2f5651","shortMessageHtmlLink":"Replace slog with tracing"}},{"before":"583417df19a0bee29de73092e4a0639aa39ce163","after":"469f75e332fefef3e35b9be7617ac1021b9ef224","ref":"refs/heads/main","pushedAt":"2024-05-28T15:11:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"add logging for showing split button from suggestion\n\nSummary: TSIA\n\nDifferential Revision: D57817460\n\nfbshipit-source-id: d42c79f7556d77ecbc3c10f29b90612ac080bb10","shortMessageHtmlLink":"add logging for showing split button from suggestion"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEV5_KuQA","startCursor":null,"endCursor":null}},"title":"Activity · facebook/sapling"}