{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":322484700,"defaultBranch":"main","name":"jj","ownerLogin":"martinvonz","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-18T04:05:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/891642?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718156421.0","currentOid":""},"activityList":{"items":[{"before":"3e261d55105974e1e8739781c85ed74445cf440f","after":"9a6e25216457f59546f3bcd4df0adc6a202973a5","ref":"refs/heads/push-qvrktsnwpkzu","pushedAt":"2024-06-12T20:50:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"cli: add BUCK files\n\nThe `grammar` macro from `pest_derive` doesn't actually interpret the given file\nas relative in our case, so we have to give it the fully qualified relative path\nwhich exists in the `buck-out/` dir.","shortMessageHtmlLink":"cli: add BUCK files"}},{"before":"1ee6f0b9ad902c8dc9dc93172088336fc8f838af","after":"1e2d3ce038d23ded9a406853eaefeaa58b2980c7","ref":"refs/heads/aseipp/push-lpvowkrkonwk","pushedAt":"2024-06-12T20:49:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"cargo: compile all packages with `-C debuginfo=line-tables-only`\n\nThis causes `rustc` to only emit enough debuginfo to emit backtraces with\nfilepaths and line numbers, but nothing more. This has a massive impact on the\nsize of `target/` in practice; a clean rebuild of all dependencies (tested via\n`cargo nextest run --workspace --no-run`) goes from ~5.5GiB to 2.1GiB.\n\nThis should help us stave off the dreaded sacrificial \"delete `target/` to save\ndisk space\" ritual that we occasionally must invoke (today I realized my `jj`\nbuild dir was over 120GiB.)\n\nSigned-off-by: Austin Seipp \nChange-Id: Ia1f31b87da89e59d77f54a3d79cb45113db215dc","shortMessageHtmlLink":"cargo: compile all packages with -C debuginfo=line-tables-only"}},{"before":"63f3cf86815b267c452ffc665f4842115bb43942","after":"42e16bae233ff03e3101cc02c74a63270627ebb6","ref":"refs/heads/aseipp/push-mupwvrwmxuvm","pushedAt":"2024-06-12T20:49:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"cli: global `--show-heap-stats` argument for EOL heap stats\n\nSummary: One of the more useful features of mimalloc. In the future this\ninterface could be expanded to support printing to a callback, so that it\ncould be triggered and dumped e.g. on debugging endpoints for longer running\nprocesses, when we get there.\n\nConsolidating this into `main.rs` is generally the right choice I think, since\nusers of `jj_cli` and related crates will have to write their own `main.rs`\nanyway.\n\nSigned-off-by: Austin Seipp \nChange-Id: I6abe4b962bbe7c62ebca97be630b750c","shortMessageHtmlLink":"cli: global --show-heap-stats argument for EOL heap stats"}},{"before":"3e455602736456ab4b91f8083d6871fa6c1f30c8","after":"c38fe354a6e729bdfb5dd3eaaab05fe57dc1474d","ref":"refs/heads/aseipp/push-norxmmmnvvqp","pushedAt":"2024-06-12T20:49:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"cli: add libgit2 info to `version --details`\n\nHopefully this paper trail can help us in the future.","shortMessageHtmlLink":"cli: add libgit2 info to version --details"}},{"before":"0e8b6c7f6d3444c2d0a4d17e57cbdda4c2bdceda","after":"c4870e48103c2407cd051a247bd8822a889fab06","ref":"refs/heads/aseipp/push-kvwumrwrpywu","pushedAt":"2024-06-12T20:49:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"cli: new `jj docs` command\n\nSigned-off-by: Austin Seipp ","shortMessageHtmlLink":"cli: new jj docs command"}},{"before":"3c2e0b0436e4295c5582c7634082873892340646","after":"e71a4eefe1d3be84fa80ab4f5d762cad2b8d948f","ref":"refs/heads/aseipp/push-uytvkxyqyspn","pushedAt":"2024-06-12T20:49:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"cli: basic `jj gerrit send` implementation\n\nThis implements the most basic workflow for submitting changes to Gerrit,\nthrough a verb called 'send'. This verb is intended to be distinct from the word\n'submit', which for Gerrit means 'merge a change into the repository.'\n\nGiven a list of revsets (specified by multiple `-r` options), this will parse\nthe footers of every commit, collect them, insert a `Change-Id` (if one doesn't\nalready exist), and then push them into the given remote.\n\nBecause the argument is a revset, you may submit entire trees of changes at\nonce, including multiple trees of independent changes, e.g.\n\n jj gerrit send -r foo:: -r baz::\n\nThere are many other improvements that can be applied on top of this, including\na ton of consistency and \"does this make sense?\" checks. However, it is flexible\nand a good starting point, and you can in fact both submit and cycle reviews\nwith this interface.\n\nSigned-off-by: Austin Seipp ","shortMessageHtmlLink":"cli: basic jj gerrit send implementation"}},{"before":"1f5daa37618d98a09783db75cdc9595ff5109aef","after":"be2ac1f488ea2da167c532d96ec3a0a167d765f1","ref":"refs/heads/bnjmnt4n/push-mrtpwxolwznv","pushedAt":"2024-06-12T14:03:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bnjmnt4n","name":"Benjamin Tan","path":"/bnjmnt4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/813865?s=80&v=4"},"commit":{"message":"merge_tools: simplify file conflicts before attempting to resolve","shortMessageHtmlLink":"merge_tools: simplify file conflicts before attempting to resolve"}},{"before":"1c22212a3350ed810516e5b3dc2a2406f68a29e8","after":"3b64d0c24ac10d4a997bfc76f4b999b49cf3d03e","ref":"refs/heads/push-xpurmmoolslu","pushedAt":"2024-06-12T02:20:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hooper","name":"Danny Hooper","path":"/hooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/706047?s=80&v=4"},"commit":{"message":"cli `fix`: change default from `-s @` to `-s 'reachable(@, mutable())'`\n\nMost of the value of `jj fix` over a shell script is in formatting commits\nother than `@`. `@::` often doesn't contain those other commits, so `-s @` is a\nbad default.\n\nWe could get the same effect from `-s 'mutable() & ::@'`, but `reachable()` is\na bit more explicit and simple to read.\n\nWe could also base this on excluding `trunk()`, but that just seems like an\nindirection for `mutable()` that might ignore the user's intent if they have\nconfigured part of trunk to be mutable.","shortMessageHtmlLink":"cli fix: change default from -s @ to -s 'reachable(@, mutable())'"}},{"before":"34b1fb1bd9d18dfbce4d2a667457522fd6af4745","after":"1c22212a3350ed810516e5b3dc2a2406f68a29e8","ref":"refs/heads/push-xpurmmoolslu","pushedAt":"2024-06-12T01:58:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hooper","name":"Danny Hooper","path":"/hooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/706047?s=80&v=4"},"commit":{"message":"cli `fix`: change default from `-s @` to `-s 'reachable(@, mutable())'`\n\nMost of the value of `jj fix` over a shell script is in formatting commits\nother than `@`. `@::` often doesn't contain those other commits, so `-s @` is a\nbad default.\n\nWe could get the same effect from `-s 'mutable() & ::@'`, but `reachable()` is\na bit more explicit and simple to read.\n\nWe could also base this on excluding `trunk()`, but that just seems like an\nindirection for `mutable()` that might ignore the user's intent if they have\nconfigured part of trunk to be mutable.","shortMessageHtmlLink":"cli fix: change default from -s @ to -s 'reachable(@, mutable())'"}},{"before":null,"after":"66a9721b90e299695c2da3e2e9e746a258b2c60d","ref":"refs/heads/push-xlmrlmmnszov","pushedAt":"2024-06-12T01:40:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"cli: deprecate `--config-toml` in favor of `--config`\n\nI was initially thinking that we might support another format than\nTOML, perhaps the same format as Git or Mercurial. That now seems\nunlikely. We have the `jj config` command which uses only TOML. Given\nthat, I think it makes sense to rename `--config-toml` to `--config`.","shortMessageHtmlLink":"cli: deprecate --config-toml in favor of --config"}},{"before":"9583bb869ddd03fae006d49904c1a4df4d6df599","after":"1df448ec6c713bf7726dfbc8b11f0eb70f6052ae","ref":"refs/heads/push-mrvpxsvultsv","pushedAt":"2024-06-12T01:36:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"cli: deprecate `jj split --siblings` in favor of `jj split --parallel`\n\nThis better matches `jj parallelize`.","shortMessageHtmlLink":"cli: deprecate jj split --siblings in favor of jj split --parallel"}},{"before":"04b0b53b6fb5306933fe9a0d6f9b839241fb48ac","after":"34b1fb1bd9d18dfbce4d2a667457522fd6af4745","ref":"refs/heads/push-xpurmmoolslu","pushedAt":"2024-06-12T01:17:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hooper","name":"Danny Hooper","path":"/hooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/706047?s=80&v=4"},"commit":{"message":"cli `fix`: change default from `-s @` to `-s 'reachable(@, mutable())'`\n\nMost of the value of `jj fix` over a shell script is in formatting commits\nother than `@`. `@::` often doesn't contain those other commits, so `-s @` is a\nbad default.\n\nWe could get the same effect from `-s 'mutable() & ::@'`, but `reachable()` is\na bit more explicit and simple to read.\n\nWe could also base this on excluding `trunk()`, but that just seems like an\nindirection for `mutable()` that might ignore the user's intent if they have\nconfigured part of trunk to be mutable.","shortMessageHtmlLink":"cli fix: change default from -s @ to -s 'reachable(@, mutable())'"}},{"before":"9fa8829f09375a54f7fc4cc87e270fda4360dbb7","after":"04b0b53b6fb5306933fe9a0d6f9b839241fb48ac","ref":"refs/heads/push-xpurmmoolslu","pushedAt":"2024-06-12T01:11:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hooper","name":"Danny Hooper","path":"/hooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/706047?s=80&v=4"},"commit":{"message":"cli `fix`: change default from `-s @` to `-s 'reachable(@, mutable())'`\n\nMost of the value of `jj fix` over a shell script is in formatting commits\nother than `@`. `@::` often doesn't contain those other commits, so `-s @` is a\nbad default.\n\nWe could get the same effect from `-s 'mutable() & ::@'`, but `reachable()` is\na bit more explicit and simple to read.\n\nWe could also base this on excluding `trunk()`, but that just seems like an\nindirection for `mutable()` that might ignore the user's intent if they have\nconfigured part of trunk to be mutable.","shortMessageHtmlLink":"cli fix: change default from -s @ to -s 'reachable(@, mutable())'"}},{"before":null,"after":"9fa8829f09375a54f7fc4cc87e270fda4360dbb7","ref":"refs/heads/push-xpurmmoolslu","pushedAt":"2024-06-12T01:03:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hooper","name":"Danny Hooper","path":"/hooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/706047?s=80&v=4"},"commit":{"message":"cli `fix`: change default from `-s @` to `-s 'reachable(@, mutable())'`\n\nMost of the value of `jj fix` over a shell script is in formatting commits\nother than `@`. `@::` often doesn't contain those other commits, so `-s @` is a\nbad default.\n\nWe could get the same effect from `-s 'mutable() & ::@'`, but `reachable()` is\na bit more explicit and simple to read.\n\nWe could also base this on excluding `trunk()`, but that just seems like an\nindirection for `mutable()` that might ignore the user's intent if they have\nconfigured part of trunk to be mutable.","shortMessageHtmlLink":"cli fix: change default from -s @ to -s 'reachable(@, mutable())'"}},{"before":"555ed15c6a127a11ffde30ffa84a5929ce632104","after":"9583bb869ddd03fae006d49904c1a4df4d6df599","ref":"refs/heads/push-mrvpxsvultsv","pushedAt":"2024-06-12T00:54:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"cli: deprecate `jj split --siblings` in favor of `jj split --parallel`\n\nThis better matches `jj parallelize`.","shortMessageHtmlLink":"cli: deprecate jj split --siblings in favor of jj split --parallel"}},{"before":"f6adc21342a91daa94bba8fdc55e8c060f4a770e","after":"555ed15c6a127a11ffde30ffa84a5929ce632104","ref":"refs/heads/push-mrvpxsvultsv","pushedAt":"2024-06-12T00:40:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"cli: deprecate `jj split --siblings` in favor of `jj split --parallel`\n\nThis better matches `jj parallelize`.","shortMessageHtmlLink":"cli: deprecate jj split --siblings in favor of jj split --parallel"}},{"before":null,"after":"f6adc21342a91daa94bba8fdc55e8c060f4a770e","ref":"refs/heads/push-mrvpxsvultsv","pushedAt":"2024-06-12T00:39:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"cli: deprecate `jj split --siblings` in favor of `jj split --parallel`\n\nThis better matches `jj parallelize`.","shortMessageHtmlLink":"cli: deprecate jj split --siblings in favor of jj split --parallel"}},{"before":"49ec8d28e7865ce7172bdd83351fd3b79ea1ae37","after":"7bc5295060596fd98498b4dd5eb49a1cf8abf6d2","ref":"refs/heads/gh-pages","pushedAt":"2024-06-12T00:15:40.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":"Deployed 4cca845 to prerelease with MkDocs 1.6.0 and mike 2.1.1","shortMessageHtmlLink":"Deployed 4cca845 to prerelease with MkDocs 1.6.0 and mike 2.1.1"}},{"before":"ef6d0c03523c6a256ab698747c6dc9c99d628dd4","after":null,"ref":"refs/heads/jt/cargofeaturedep","pushedAt":"2024-06-12T00:14:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jonathantanmy","name":null,"path":"/jonathantanmy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29559283?s=80&v=4"}},{"before":"0fd1969e8fcf4ec448f15d61b6b2dde1c72fcdb3","after":"4cca84515a1c18a221cb2ee31a036bde60a3db2f","ref":"refs/heads/main","pushedAt":"2024-06-12T00:14:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jonathantanmy","name":null,"path":"/jonathantanmy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29559283?s=80&v=4"},"commit":{"message":"In lib, make \"testing\" feature depend on \"git\"\n\nIf not, `cargo build --no-default-features --features testing` will fail.","shortMessageHtmlLink":"In lib, make \"testing\" feature depend on \"git\""}},{"before":null,"after":"838b334c6a2e5a6606b0b74bd6e88da176fab57e","ref":"refs/heads/aseipp/push-lvnzuzxwnulx","pushedAt":"2024-06-11T21:47:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"nix: zstd-compressed debug sections in devShell\n\nThis cuts the size of a final debug binary in half (~250MiB -> 127MiB)\nin my dev shell, and saves about 15% of total `target/` directory size\nwhen a full build from scratch happens (2GiB -> 1.7GiB). Let's take an\neasy free win.\n\nSigned-off-by: Austin Seipp ","shortMessageHtmlLink":"nix: zstd-compressed debug sections in devShell"}},{"before":"ab63bf33364601a20f90a15dfc157e5618aadf2f","after":"3e261d55105974e1e8739781c85ed74445cf440f","ref":"refs/heads/push-qvrktsnwpkzu","pushedAt":"2024-06-11T21:24:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"thoughtpolice","name":"Austin Seipp","path":"/thoughtpolice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3416?s=80&v=4"},"commit":{"message":"cli: add BUCK files\n\nThe `grammar` macro from `pest_derive` doesn't actually interpret the given file\nas relative in our case, so we have to give it the fully qualified relative path\nwhich exists in the `buck-out/` dir.","shortMessageHtmlLink":"cli: add BUCK files"}},{"before":null,"after":"ef6d0c03523c6a256ab698747c6dc9c99d628dd4","ref":"refs/heads/jt/cargofeaturedep","pushedAt":"2024-06-11T20:25:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jonathantanmy","name":null,"path":"/jonathantanmy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29559283?s=80&v=4"},"commit":{"message":"In lib, make \"testing\" feature depend on \"git\"\n\nIf not, `cargo build --no-default-features --features testing` will fail.","shortMessageHtmlLink":"In lib, make \"testing\" feature depend on \"git\""}},{"before":"d729d668464de38626b1e134dd788d2f8631f4d8","after":null,"ref":"refs/heads/push-qorssqqnvxtw","pushedAt":"2024-06-11T13:03:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"}},{"before":"556c7291c1948f235789bfaa096e24fbd2e22b43","after":"0fd1969e8fcf4ec448f15d61b6b2dde1c72fcdb3","ref":"refs/heads/main","pushedAt":"2024-06-11T13:03:20.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"lib: make git support optional via crate feature\n\nI've wanted to make the Git support optional for a long time. However,\nsince everyone uses the Git backend (and we want to support it even in\nthe custom binary at Google), there hasn't been much practical reason\nto make Git support optional.\n\nSince we now use jj-lib on the server at Google, it does make sense to\nhave the server not include Git support. In addition to making the\nserver binary smaller, it would make it easier for us (jj team at\nGooglle) to prove that our server is not affected by some libgit2 or\nGitoxide vulnerability. But to be honest, neither of those problems\nhave come up, so it's more of an excuse to make the Git support\noptional at this point.\n\nIt turned out to be much simpler than I expected to make Git support\nin the lib crate optional. We have done a pretty good job of keeping\nGit-related logic separated there.\n\nIf we make Git support optional in the lib crate, it's going to make\nit a bit harder to move logic from the CLI crate into the lib crate\n(as we have planned to do). Maybe that's good, though, since it helps\nremind us to keep Git-related logic separated.","shortMessageHtmlLink":"lib: make git support optional via crate feature"}},{"before":"93d4cdfc5b9f7ce86ae17c1722b3ecf15d94f98e","after":"49ec8d28e7865ce7172bdd83351fd3b79ea1ae37","ref":"refs/heads/gh-pages","pushedAt":"2024-06-11T11:01:20.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":"Deployed 556c729 to prerelease with MkDocs 1.6.0 and mike 2.1.1","shortMessageHtmlLink":"Deployed 556c729 to prerelease with MkDocs 1.6.0 and mike 2.1.1"}},{"before":"2d0b715ad0aed4773fe9967c25bdd66dfe3fed3b","after":"556c7291c1948f235789bfaa096e24fbd2e22b43","ref":"refs/heads/main","pushedAt":"2024-06-11T11:00:47.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"yuja","name":"Yuya Nishihara","path":"/yuja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/172069?s=80&v=4"},"commit":{"message":"revset: migrate syntactic tests to AST-based\n\nThis will hopefully help remove PartialEq from RevsetExpression. Some assertions\nare duplicated so that AST->RevsetExpression transformation is covered by tests.","shortMessageHtmlLink":"revset: migrate syntactic tests to AST-based"}},{"before":"1eedab001b7c2b1ebc99d0e67da99e6721e54cd6","after":"d729d668464de38626b1e134dd788d2f8631f4d8","ref":"refs/heads/push-qorssqqnvxtw","pushedAt":"2024-06-11T03:43:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"lib: make git support optional via crate feature\n\nI've wanted to make the Git support optional for a long time. However,\nsince everyone uses the Git backend (and we want to support it even in\nthe custom binary at Google), there hasn't been much practical reason\nto make Git support optional.\n\nSince we now use jj-lib on the server at Google, it does make sense to\nhave the server not include Git support. In addition to making the\nserver binary smaller, it would make it easier for us (jj team at\nGooglle) to prove that our server is not affected by some libgit2 or\nGitoxide vulnerability. But to be honest, neither of those problems\nhave come up, so it's more of an excuse to make the Git support\noptional at this point.\n\nIt turned out to be much simpler than I expected to make Git support\nin the lib crate optional. We have done a pretty good job of keeping\nGit-related logic separated there.\n\nIf we make Git support optional in the lib crate, it's going to make\nit a bit harder to move logic from the CLI crate into the lib crate\n(as we have planned to do). Maybe that's good, though, since it helps\nremind us to keep Git-related logic separated.","shortMessageHtmlLink":"lib: make git support optional via crate feature"}},{"before":"225049346ddeccf921624f929a913aea7ce8f16c","after":"1eedab001b7c2b1ebc99d0e67da99e6721e54cd6","ref":"refs/heads/push-qorssqqnvxtw","pushedAt":"2024-06-11T03:42:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"lib: make git support optional via crate feature\n\nI've wanted to make the Git support optional for a long time. However,\nsince everyone uses the Git backend (and we want to support it even in\nthe custom binary at Google), there hasn't been much practical reason\nto make Git support optional.\n\nSince we now use jj-lib on the server at Google, it does make sense to\nhave the server not include Git support. In addition to making the\nserver binary smaller, it would make it easier for us (jj team at\nGooglle) to prove that our server is not affected by some libgit2 or\nGitoxide vulnerability. But to be honest, neither of those problems\nhave come up, so it's more of an excuse to make the Git support\noptional at this point.\n\nIt turned out to be much simpler than I expected to make Git support\nin the lib crate optional. We have done a pretty good job of keeping\nGit-related logic separated there.\n\nIf we make Git support optional in the lib crate, it's going to make\nit a bit harder to move logic from the CLI crate into the lib crate\n(as we have planned to do). Maybe that's good, though, since it helps\nremind us to keep Git-related logic separated.","shortMessageHtmlLink":"lib: make git support optional via crate feature"}},{"before":"e9fe8e4f13838389e9af7f8fd4bd4fcdba21b664","after":"225049346ddeccf921624f929a913aea7ce8f16c","ref":"refs/heads/push-qorssqqnvxtw","pushedAt":"2024-06-11T03:39:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"martinvonz","name":"Martin von Zweigbergk","path":"/martinvonz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/891642?s=80&v=4"},"commit":{"message":"lib: make git support optional via crate feature\n\nI've wanted to make the Git support optional for a long time. However,\nsince everyone uses the Git backend (and we want to support it even in\nthe custom binary at Google), there hasn't been much practical reason\nto make Git support optional.\n\nSince we now use jj-lib on the server at Google, it does make sense to\nhave the server not include Git support. In addition to making the\nserver binary smaller, it would make it easier for us (jj team at\nGooglle) to prove that our server is not affected by some libgit2 or\nGitoxide vulnerability. But to be honest, neither of those problems\nhave come up, so it's more of an excuse to make the Git support\noptional at this point.\n\nIt turned out to be much simpler than I expected to make Git support\nin the lib crate optional. We have done a pretty good job of keeping\nGit-related logic separated there.\n\nIf we make Git support optional in the lib crate, it's going to make\nit a bit harder to move logic from the CLI crate into the lib crate\n(as we have planned to do). Maybe that's good, though, since it helps\nremind us to keep Git-related logic separated.","shortMessageHtmlLink":"lib: make git support optional via crate feature"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEY74GjAA","startCursor":null,"endCursor":null}},"title":"Activity ยท martinvonz/jj"}