feat: add "fetch all repositories" action in workspace menu#2537
Open
JC-Chung wants to merge 1 commit into
Open
feat: add "fetch all repositories" action in workspace menu#2537JC-Chung wants to merge 1 commit into
JC-Chung wants to merge 1 commit into
Conversation
0337da5 to
035930b
Compare
035930b to
fe0c5c8
Compare
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.
What
Add a "Fetch All Repositories" menu item to the workspace dropdown menu,
allowing users to fetch all open repositories in the active workspace with
a single action.
Why
When working with multiple repositories in a workspace, users currently have
to switch to each tab and trigger fetch individually (e.g., Ctrl+Down).
This action automates that process without requiring tab switching.
Changes
src/ViewModels/Repository.cs: AddFetchAllRemotesAsync()that directlyruns
Commands.Fetchfor all remotes (similar to auto-fetch behavior),showing the
IsAutoFetchingoverlay instead of theFetch.axamlpopup.Repositories with no remotes or an active
index.lockare skipped silently.src/ViewModels/Launcher.cs: AddFetchAllRepositoriesAsync()thatiterates over a snapshot of
Pages(to avoid collection-modified exceptionsduring async enumeration) and calls
FetchAllRemotesAsync()on each openrepository. Sends a completion notification to the active page when done.
src/Views/Launcher.axaml.cs: Add menu item withIcons.Fetchicon inOnOpenWorkspaceMenuafter the separator, enabled only when at least onerepository is open.
src/Resources/Locales/: AddText.Workspace.FetchAllRepositorieskey toen_US.axaml,zh_CN.axaml, andzh_TW.axaml.