Releases: facebook/sapling
0.2.20241202-155218+d2640f53
rust-remove: handle non-eden directory Summary: ## Background We are migrating eden remove command from Python to Rust for better error handling and code readability. ## This Diff Implemented how we should handle the request when the user is trying to remove a non-eden directory. The handling logic is the same as the Python CLI: - For a directory managed by Eden but not a root directory of the repo, we warn the user and do nothing. - For a directory that is not managed by Eden, we prompt the user and go removing it after getting the permission. Reviewed By: muirdm Differential Revision: D65802306 fbshipit-source-id: 1e55adeef550b09da89bab83f0fc4351b8aca8c2
0.2.20240718-145624+f4e9df48
Sapling
- Links now enabled by default for PRs in the smartlog
ISL
The full list of ISL features is here.
Community contributions
- @horizon-blue fixed a
_STACK_SECTION_START
related test (#846) - @bolinfest got rid of an unnecessary
decode()
call (#862) - @bolinfest made it possible to
_strip_stack_information()
to work with\r\n
(#863) - @rejc2 added a “follower” tag on ISL for PRs (#877)
- @bolinfest fixed an issue where
github.preserve-pull-request-description=true
was adding\n
to commit messages (#880) - @bolinfest expanded PR no. recognition support (#881)
- @zadlg fixed a Rust compilation error (#883)
- @randallb added a check for the websocket protocol of choice if HTTPs was being used (#886)
- @thb-sb fixed a runtime error where it was possible for a Python symbol to not be found (#896)
- @bolinfest made some changes to exclude the first line from body in new PRs (#899)
0.2.20240219-172743+3e819974
Sapling
- Enable smarter merge algorithms for open source version (see ‘sl help automerge’ for more information)
- Optionally limit the number of PRs created in each submission (#824)
- Trim commit description from SSL (#820)
- Fix AttributeError.name issue for Python < 3.10 (#825)
- Avoid linkifying example URL (#813)
ISL
The full list of ISL features is here.
- New DAG-based renderer
- Fill blank commit messages from previous commits
- Improvements to split UI tracking copied files
- Fix dragging commits in edit stack being misaligned with the cursor
- Node >= 16 is now required for running sl isl / sl web
0.2.20240116-133042+8acecb66
Sapling
- Support ‘--amend’ for copy and rename command (link)
- Enable cross-platform stdin listfile:pattern (link)
- Rewrite mergestage in Rust (link)
- Add configurable limits for files count in a commit (link)
- Use Rust status for every operations (link)
ISL
The full list of ISL features is here.
- Multiple improvements to Interactive Split
- Previewing system was rewritten with several improvements, such as commits not appearing duplicated during a rebase
- Added Bulk actions dropdown to the top bar to add actions that act on all commits at once
Community Contributions
0.2.20231113-145254+995db0d6
Below are the major changes of this release:
Sapling
- Aside from ISL,
sl
now runs as a single binary on all platforms - New copy tracing algorithm for automatically detecting renames and resolving rename-update conflict
- Symlink Support on Windows (requires enabling Developer Mode on Windows)
- A new Sapling DSL for dynamically picking a merge tool per-file
chg
was disabled on macOS- Fix build issues (thrift error, install-oss pep-0440 error etc)
ISL (Interactive Smartlog)
The full list of ISL changelog is here:
- Conflict-free diff stack editing and reordering
- Interactive Split UI, this lets you make multiple commits out of a single large commit
sl isl
on the command line to open a dedicated OS window instead of just a browser tab- Many UI improvements, like Syntax highlighting, easier to drag & drop commit during rebase operations
Community Contributions
- @ahornby fix many issues about EdenFS build and ReviewStack (link)
- @alex-statsig fix many issues about ISL and ReviewStack (link)
- @ktf avoids display issues with multiple hunks on macOS (#755)
- @vegerot fix Makefile target-specific variable values (#741)
- @touilleMan fix subcommands list in github extension's sl pr -h command (#737)
- @vegerot fix version number when building with old Sapling (#712)
- @vegerot set publicheads to remote HEAD when cloning (#607)
- @0o001 fix function names typo (#705)
- @Flameeyes use my-fork consistently (#702)
- @Vertexwahn improve doc (#677)
- @skevy add “goto” zsh completion (#666)
- @tomasreimers updates repository.ts (#604)
- @skevy fix empty path in dirfilter (#601)
- @skevy fix subcommands in pr.md (#596)
Full Changelog: 0.2.20230523-092610+f12b7eee...0.2.20231113-145254+995db0d6
0.2.20230523-092610+f12b7eee
- Fixed (
--no-root-relative
) handling for the status command (bb37a6e) - Added shell completion for
sl {hide, unhide, show}
(9f2cfe4)
See Sapling VS Code extension changelog for changes to the sl web UI
Full Changelog: 0.2.20230426-145232+7ea1f245...0.2.20230523-092610+f12b7eee
0.2.20230426-145232+7ea1f245
- @tomasreimers had several fixes for the ISL UI (#589, #604)
- @skevy fixed documentation for PR command (#596)
- @skevy fixed empty paths not being handled by dirfilter in fsmonitor (#601)
- @vegerot fixed publicheads commits not getting set as public when cloned (#607)
Note that our version numbers changed to be compatible with PEP 440 in #606
See Sapling VS Code extension changelog for changes to the sl web UI
Full Changelog: 0.2.20230330-193452-h69692651...0.2.20230426-145232+7ea1f245
0.2.20230330-193452-h69692651
This release includes fixes in various areas:
- @vegerot fixed a crash on macOS when the user belongs to more than 16 unix groups (#573).
- @steveluscher improved
githelp
to properly include--dirs
forclean
command (#575). - @steveluscher improved Ubuntu build by including build dependencies (#576, #577).
- Ctrl+C is now properly handled (1a697a2).
0.2.20230228-144002-h9440b05e
This release mainly brings better file move detection as well as various improvements to the sl pr submit
command
- Added file moves detection for sl diff.
- @discentem added a config option to disable the ReviewStack message in PRs created by
sl pr submit
(#427). The ReviewStack message is auto disabled for single-commit stack. - Fixed "mark landed PRs" hook to work when
sl
not in PATH (71d6e67) - Fixed
sl pr submit
to not try to update closed PRs (5a354f7) - Fixed
sl pr submit
to use "overlapping" PR strategy by default (a050359) - Fix
sl pr submit
crash using non-placeholder issue approach (18a1987) - @vegerot added and improved shell completion and prompt (#369 #349 #348).
- @vegerot added support for
sl init --git
on a non-empty directory. - Fixed not being able to launch
sl web
just after building withmake oss
.
0.2.20230124-180750-hf8cd450a
This release focuses on bug fixes and improvements around the pr and ghstack commands.
- Fixed an issue where
sl pr list
did not work correctly in combination withchg
(a1187e8). - @discentem (BK) Updated
sl pr pull
to throw an appropriate error if no args were specified (#357). - Reverted the behavior introduced in the previous release that introduced the practice of using placeholder issues when creating GitHub pull requests. While this approach made it possible to create pull requests in parallel and had desirable guarantees with respect to PR numbers and branch names, it turned out to have a number of downsides that outweighed the benefits, as explained in 7ce516d .
- @discentem (BK) Fixed a bug where
sl clone
silently failed for some repositories (#375) with (#386). - Added a PR revset (4720a2e). Now commands such as
sl goto pr123
,sl log -r PR456
should work, even without having to manually download some pull request. Using sl pr pull is still necessary, however, if one wants to get the most recent version of some PR. - Fix
sl ghstack land
to properly rebase, avoiding spurious “non-fast forward” push errors (ebbe7d8), resolving #333 .