* refactor: improve diff handling for EOL changes and enhance text diff display
- Updated `Diff.cs` to streamline whitespace handling in diff arguments.
- Enhanced `DiffContext.cs` to check for EOL changes when old and new hashes differ, creating a text diff if necessary.
- Added support for showing end-of-line symbols in `TextDiffView.axaml.cs` options.
* localization: update translations to include EOF handling in ignore whitespace messages
- Modified the ignore whitespace text in multiple language files to specify that EOF changes are also ignored.
- Ensured consistency across all localization files for the patch application feature.
* revert: Typo in DiffResult comment
* revert: update diff arguments to ignore CR at EOL in whitespace handling (like before changes)
* revert: update translations to remove EOF references in Text.Apply.IgnoreWS and fixed typo in Text.Diff.IgnoreWhitespace (EOF => EOL)
---------
Co-authored-by: mpagani <massimo.pagani@unitec-group.com>
- rename c-style `file_arg` to `fileArg`
- add missing translations for zh_CN and zh_TW
- re-design conflict view and add tooltip for `USE THEIRS` and `USE MINE`
- re-order unstaged toolbar buttons
Signed-off-by: leo <longshuang@msn.cn>
* Make a few non-translated strings localizable (in Conflict view)
* Add button and wiring to run mergetool on all conflicts
* Corrected spelling and wording in related code and exception msg
- Use new syntex `[...]` instead of `new char[] {...}` to create char arrays
- Use `string.ReplaceLineEndings('\n').Split('\n')` instead of `string.Split(['\n', '\r'], StringSplitOptions.RemoveEmptyEntries)` because that the `Signer` part may be missing
Signed-off-by: leo <longshuang@msn.cn>
Fix push command for branch deletion
Updated the `push` command to use `--delete refs/heads/{name}` instead of `--delete {name}` for clearer branch reference when deleting a remote branch.
Co-authored-by: Michael Pakhantsov <michae.pakhantsov@gmail.com>
- Remove `ForceEnglishLocale` because we want all `git` outputs in English
- Remove locale settings for `ExecuteCustomAction`
Signed-off-by: leo <longshuang@msn.cn>
- move issue tracker and commit hash links parsing to view models
- parsing links async
- make sure matched hash is a valid commit oid
- disable `CHILDREN` row in submodule info panel
Signed-off-by: leo <longshuang@msn.cn>
- Add `OpenAIResponse` to trim the `<think>...</think>` block
- Add an `Enable Streaming` option to fix the issue that some services do not support streaming output
Signed-off-by: leo <longshuang@msn.cn>
Present the worktree name first, then relative path to the main repo.
This is more aligned with Git's own UI, and works better with UI size constrains.
- Improve chat response processing to handle thinking patterns using regular expressions.
- Migrate server value by removing trailing '/chat/completions' path.
- use `OpenAI` and `Azure.AI.OpenAI`
- use `developer` role instead of `system` for OpenAI's `o1` series models
- use streaming response
- re-design `AIAssistant`
Signed-off-by: leo <longshuang@msn.cn>
* supports `--index` option
* add an option to drop selected stash after applying
* remove `Pop` context menu for stash
Signed-off-by: leo <longshuang@msn.cn>
* refactor: Update submodules individually to avoid failures (#925)
- Remove `--recurse-submodules` flag from the clone command to simplify the cloning process.
- Refactor submodule update logic to handle updating all submodules in a loop and improve progress description handling.
* fix: Parse submodule list even if submodule status fails (#935)