Reintegrate stdext into edit - #960
Merged
Merged
Conversation
Dustin L. Howett (DHowett)
approved these changes
Sep 21, 2026
Rahul Pandit (rahulsaipandit)
added a commit
to rahulsaipandit/edit
that referenced
this pull request
Sep 22, 2026
Do a sync with upstream master fork and reconcile any merge conflicts Bash Check git remotes and status IN git remote -v && git status OUT origin https://github.com/rahulsaipandit/edit.git (fetch) origin https://github.com/rahulsaipandit/edit.git (push) upstream https://github.com/microsoft/edit.git (fetch) upstream https://github.com/microsoft/edit.git (push) On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean Fetching upstream now. Bash Fetch upstream and compare divergence IN git fetch upstream && git log --oneline main..upstream/main | head -50 && echo "---" && git log --oneline upstream/main..main | head -50 OUT From https://github.com/microsoft/edit * [new branch] c -> upstream/c * [new branch] dev/cazamor/vt-a11y -> upstream/dev/cazamor/vt-a11y * [new branch] dev/lhecker/230-move-lines -> upstream/dev/lhecker/230-move-lines * [new branch] dev/lhecker/256-color-mapping -> upstream/dev/lhecker/256-color-mapping * [new branch] dev/lhecker/479-word-wrap-proto -> upstream/dev/lhecker/479-word-wrap-proto * [new branch] dev/lhecker/arabic-lam-alef -> upstream/dev/lhecker/arabic-lam-alef * [new branch] dev/lhecker/buffer-benchmark-fix -> upstream/dev/lhecker/buffer-benchmark-fix * [new branch] dev/lhecker/collections -> upstream/dev/lhecker/collections * [new branch] dev/lhecker/css -> upstream/dev/lhecker/css * [new branch] dev/lhecker/generational -> upstream/dev/lhecker/generational * [new branch] dev/lhecker/io-log -> upstream/dev/lhecker/io-log * [new branch] dev/lhecker/kbd-defs -> upstream/dev/lhecker/kbd-defs * [new branch] dev/lhecker/lsh-frontend -> upstream/dev/lhecker/lsh-frontend * [new branch] dev/lhecker/lsh-js -> upstream/dev/lhecker/lsh-js * [new branch] dev/lhecker/lsh-varint-encoding -> upstream/dev/lhecker/lsh-varint-encoding * [new branch] dev/lhecker/piece-tree -> upstream/dev/lhecker/piece-tree * [new branch] dev/lhecker/superluminal -> upstream/dev/lhecker/superluminal * [new branch] dev/lhecker/syntax-highlighting-backup -> upstream/dev/lhecker/syntax-highlighting-backup * [new branch] dev/lhecker/thread-safety -> upstream/dev/lhecker/thread-safety * [new branch] dev/lhecker/varint -> upstream/dev/lhecker/varint * [new branch] dev/lhecker/word-navigation-fix -> upstream/dev/lhecker/word-navigation-fix * [new branch] dev/lhecker/word-wrap -> upstream/dev/lhecker/word-wrap * [new branch] dev/lhecker/word-wrap-rewrite-v2 -> upstream/dev/lhecker/word-wrap-rewrite-v2 * [new branch] main -> upstream/main * [new branch] users/duhowett/hax/stdout -> upstream/users/duhowett/hax/stdout * [new branch] users/duhowett/titlebars -> upstream/users/duhowett/titlebars * [new branch] users/duhowett/uefi -> upstream/users/duhowett/uefi * [new branch] users/lhecker/133-review -> upstream/users/lhecker/133-review * [new tag] v2.0.0 -> v2.0.0 --- b012b1b Add DS_store - one of MAC most stupid files ad37c18 Add compile paths db3d85e Update ReadMe Bash Inspect the three local-only commits IN git show --stat b012b1b && echo ---- && git show --stat ad37c18 && echo ---- && git show --stat db3d85e OUT <persisted-output> Output too large (93.9KB). Full output saved to: C:\Users\rahul\.claude\projects\d--Github-edit\d5b5fb37-385f-4268-a3d9-40f59d2062b5\tool-results\bu303vk6s.txt Preview (first 2KB): commit b012b1b Author: RSP <136660770+rahulsaipandit@users.noreply.github.com> Date: Wed Feb 18 17:40:23 2026 -0800 Add DS_store - one of MAC most stupid files .gitignore | 5 +++++ 1 file changed, 5 insertions(+) ---- commit ad37c18 Author: RSP <136660770+rahulsaipandit@users.noreply.github.com> Date: Wed Feb 18 17:39:48 2026 -0800 Add compile paths .gitignore | 6 +- README.md | 11 + </persisted-output> This fork has an accidental commit ("Add compile paths") that checked in the entire target/ build directory (compiled artifacts, fingerprints, etc.) into git — that's likely a mistake, not something intended to sync upstream. Bash Check extent of target/ files committed and current gitignore IN git show --stat ad37c18 | wc -l && git ls-files | grep -c '^target/' && du -sh .git 2>/dev/null; git cat-file -p HEAD:.gitignore | head -30 OUT 1351 1342 67M .git .idea .vs *.profraw lcov.info target .DS_Store Bash Check if target files still tracked in current HEAD IN git ls-tree -r HEAD --name-only | grep '^target/' | wc -l OUT 1342 This confirms it: 1342 build-artifact files under target/ are currently tracked in your main branch (despite .gitignore now excluding target), from the "Add compile paths" commit. This will cause noisy/painful merge conflicts with upstream and bloats the repo. Let me check with you before proceeding. AskUserQuestion OUT Your questions have been answered: "Your fork's main branch has 1342 build-artifact files (target/) accidentally committed, which .gitignore now excludes but git still tracks. How should I handle this before merging upstream?"="Merge upstream first, deal with target/ after". You can now continue with these answers in mind. Proceeding with the merge as-is, and I'll handle target/ separately afterward. Bash Merge upstream/main into local main IN git merge upstream/main --no-edit 2>&1 | tail -100 OUT Auto-merging Cargo.toml Auto-merging README.md CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result. Only one conflict, in README.md. Let's look at it. Bash Show merge status IN git status --short | head -20 OUT D .cargo/release-nightly.toml M .cargo/release-windows-ms.toml M .cargo/release.toml A .github/codeql/codeql-config.yml A .github/dependabot.yml M .github/workflows/ci.yml A .github/workflows/codeql-analysis.yml M .github/workflows/winget.yml A .pipelines/nuget.config A .pipelines/packages.config M .pipelines/release.yml M .vscode/launch.json M Cargo.lock M Cargo.toml UU README.md A assets/build-windows-setup.ps1 A assets/edit.iss A assets/highlighting-tests/COMMIT_EDITMSG A assets/highlighting-tests/batch.bat A assets/highlighting-tests/c.c Read D:\Github\edit\README.md Edit D:\Github\edit\README.md Removed 4 lines Now let's check the rest of the file for the personal PATH-setup lines that were tacked on, and verify no other conflicts remain. Bash Check for leftover conflict markers IN git diff --check | head -30; echo "---remaining conflicts---"; git status --short | grep '^UU' OUT ---remaining conflicts--- UU README.md Bash Confirm no conflict markers remain in README IN grep -n '<<<<<<<\|=======\|>>>>>>>' README.md OUT (Bash completed with no output) Bash Stage resolved README and check remaining status IN git add README.md && git status --short | grep -v '^A\|^M ' | head -30 OUT D .cargo/release-nightly.toml R crates/stdext/src/alloc.rs -> crates/edit/src/alloc.rs R crates/stdext/src/arena/debug.rs -> crates/edit/src/arena/debug.rs R crates/stdext/src/arena/fs.rs -> crates/edit/src/arena/fs.rs R crates/stdext/src/arena/mod.rs -> crates/edit/src/arena/mod.rs R crates/stdext/src/arena/release.rs -> crates/edit/src/arena/release.rs R crates/stdext/src/arena/scratch.rs -> crates/edit/src/arena/scratch.rs D crates/edit/src/buffer/line_cache.rs R crates/stdext/src/collections/mod.rs -> crates/edit/src/collections/mod.rs R crates/stdext/src/collections/string.rs -> crates/edit/src/collections/string.rs R crates/stdext/src/collections/vec.rs -> crates/edit/src/collections/vec.rs R crates/stdext/src/simd/mod.rs -> crates/edit/src/lsh/definitions.rs R crates/stdext/src/simd/memset.rs -> crates/edit/src/simd/memset.rs R crates/stdext/src/unicode/utf8.rs -> crates/edit/src/unicode/utf8.rs R crates/edit/src/glob.rs -> crates/lsh/src/glob.rs D crates/stdext/Cargo.toml D crates/stdext/src/helpers.rs D crates/stdext/src/lib.rs D crates/stdext/src/sys/mod.rs D crates/stdext/src/sys/unix.rs D crates/stdext/src/sys/windows.rs D crates/stdext/src/unicode/mod.rs D rust-toolchain.toml This all looks like normal upstream refactoring (moving code between crates), no conflicts left. Let's finalize the merge commit. Bash Complete the merge commit IN git commit --no-edit && git log --oneline -5 OUT [main 778ffd6] Merge remote-tracking branch 'upstream/main' 778ffd6 Merge remote-tracking branch 'upstream/main' c470ca5 Reintegrate stdext into edit (microsoft#960) 3cff89e Enable CodeQL for actions (microsoft#959) 2c4177f Turn lsh into a standalone crate (microsoft#958) f6ae615 Fix reading overly large files (microsoft#954) Now let's verify the build still works and check the target/ tracking situation post-merge. Bash Check target/ tracking and clean working tree after merge IN git ls-tree -r HEAD --name-only | grep -c '^target/'; echo "---"; git status --short | head OUT 1342 --- Working tree is clean and merge completed. The target/ tracking issue (1342 files) still remains from before, as you asked to defer it. Do you want me to clean that up now, and would you like me to push main to your origin fork? AskUserQuestion OUT Your questions have been answered: "The merge is done and committed locally (clean, no conflicts remaining). What next?"="Just push to origin". You can now continue with these answers in mind. Bash Push merged main to origin fork IN git push origin main OUT To https://github.com/rahulsaipandit/edit.git b012b1b..778ffd6 main -> main Done. Synced with upstream/main, resolved the single README.md conflict (kept your "Renaming to msedit" section, adopted upstream's simpler intro line for the config table), committed the merge, and pushed to origin/main. Outstanding item: your fork still has 1342 build-artifact files under target/ tracked in git from an earlier accidental commit — .gitignore excludes it now but the files remain tracked. Let me know if you'd like me to run git rm -r --cached target and commit that cleanup separately.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A few merged files. Lots of import fixups.
This way we only need to publish 2 crates not 3.