diff --git a/.editorconfig b/.editorconfig
index 83b15884..22c741b9 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -206,6 +206,9 @@ dotnet_diagnostic.CA1854.severity = warning
#CA2211:Non-constant fields should not be visible
dotnet_diagnostic.CA2211.severity = error
+# IDE0005: remove used namespace using
+dotnet_diagnostic.IDE0005.severity = error
+
# Wrapping preferences
csharp_wrap_before_ternary_opsigns = false
diff --git a/README.md b/README.md
index 45d6bbf5..a1d19e1f 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
* Supports Windows/macOS/Linux
* Opensource/Free
* Fast
-* Deutsch/English/Español/Français/Português/Русский/简体中文/繁體中文
+* Deutsch/English/Español/Français/Italiano/Português/Русский/简体中文/繁體中文
* Built-in light/dark themes
* Customize theme
* Visual commit graph
@@ -47,7 +47,7 @@
## Translation Status
-[![en_US](https://img.shields.io/badge/en__US-100%25-brightgreen)](TRANSLATION.md) [![de__DE](https://img.shields.io/badge/de__DE-99.86%25-yellow)](TRANSLATION.md) [![es__ES](https://img.shields.io/badge/es__ES-98.01%25-yellow)](TRANSLATION.md) [![fr__FR](https://img.shields.io/badge/fr__FR-97.44%25-yellow)](TRANSLATION.md) [![pt__BR](https://img.shields.io/badge/pt__BR-99.29%25-yellow)](TRANSLATION.md) [![ru__RU](https://img.shields.io/badge/ru__RU-100.00%25-brightgreen)](TRANSLATION.md) [![zh__CN](https://img.shields.io/badge/zh__CN-100.00%25-brightgreen)](TRANSLATION.md) [![zh__TW](https://img.shields.io/badge/zh__TW-100.00%25-brightgreen)](TRANSLATION.md)
+[![en_US](https://img.shields.io/badge/en__US-100%25-brightgreen)](TRANSLATION.md) [![de__DE](https://img.shields.io/badge/de__DE-99.86%25-yellow)](TRANSLATION.md) [![es__ES](https://img.shields.io/badge/es__ES-97.87%25-yellow)](TRANSLATION.md) [![fr__FR](https://img.shields.io/badge/fr__FR-97.30%25-yellow)](TRANSLATION.md) [![it__IT](https://img.shields.io/badge/it__IT-97.73%25-yellow)](TRANSLATION.md) [![pt__BR](https://img.shields.io/badge/pt__BR-99.15%25-yellow)](TRANSLATION.md) [![ru__RU](https://img.shields.io/badge/ru__RU-100.00%25-brightgreen)](TRANSLATION.md) [![zh__CN](https://img.shields.io/badge/zh__CN-100.00%25-brightgreen)](TRANSLATION.md) [![zh__TW](https://img.shields.io/badge/zh__TW-100.00%25-brightgreen)](TRANSLATION.md)
## How to Use
diff --git a/TRANSLATION.md b/TRANSLATION.md
index 03b26e1b..82be4441 100644
--- a/TRANSLATION.md
+++ b/TRANSLATION.md
@@ -4,11 +4,11 @@
Missing Keys
-- Text.Repository.FilterCommits
+- Text.WorkingCopy.CommitToEdit
-### es_ES.axaml: 98.01%
+### es_ES.axaml: 97.87%
@@ -28,10 +28,11 @@
- Text.Repository.HistoriesOrder.ByDate
- Text.Repository.HistoriesOrder.Topo
- Text.SHALinkCM.NavigateTo
+- Text.WorkingCopy.CommitToEdit
-### fr_FR.axaml: 97.44%
+### fr_FR.axaml: 97.30%
@@ -55,10 +56,36 @@
- Text.Repository.HistoriesOrder.Topo
- Text.ScanRepositories
- Text.SHALinkCM.NavigateTo
+- Text.WorkingCopy.CommitToEdit
-### pt_BR.axaml: 99.29%
+### it_IT.axaml: 97.73%
+
+
+
+Missing Keys
+
+- Text.CommitDetail.Info.Children
+- Text.Configure.IssueTracker.AddSampleGitLabMergeRequest
+- Text.Configure.OpenAI.Preferred
+- Text.Configure.OpenAI.Preferred.Tip
+- Text.Fetch.Force
+- Text.Preference.General.ShowChildren
+- Text.Repository.FilterCommits
+- Text.Repository.FilterCommits.Default
+- Text.Repository.FilterCommits.Exclude
+- Text.Repository.FilterCommits.Include
+- Text.Repository.HistoriesOrder
+- Text.Repository.HistoriesOrder.ByDate
+- Text.Repository.HistoriesOrder.Topo
+- Text.SHALinkCM.CopySHA
+- Text.SHALinkCM.NavigateTo
+- Text.WorkingCopy.CommitToEdit
+
+
+
+### pt_BR.axaml: 99.15%
@@ -69,6 +96,7 @@
- Text.Preference.General.ShowChildren
- Text.Repository.FilterCommits
- Text.SHALinkCM.NavigateTo
+- Text.WorkingCopy.CommitToEdit
diff --git a/VERSION b/VERSION
index 081fd762..cd658ce6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-8.40
\ No newline at end of file
+8.41
\ No newline at end of file
diff --git a/build/README.md b/build/README.md
index a75f4d73..b4358a55 100644
--- a/build/README.md
+++ b/build/README.md
@@ -5,7 +5,7 @@
## How to build this project manually
-1. Make sure [.NET SDK 8](https://dotnet.microsoft.com/en-us/download) is installed on your machine.
+1. Make sure [.NET SDK 9](https://dotnet.microsoft.com/en-us/download) is installed on your machine.
2. Clone this project
3. Run the follow command under the project root dir
```sh
diff --git a/src/App.axaml b/src/App.axaml
index fc55776e..0f40031d 100644
--- a/src/App.axaml
+++ b/src/App.axaml
@@ -14,6 +14,7 @@
+
diff --git a/src/App.axaml.cs b/src/App.axaml.cs
index 0615724a..a4e5bd5b 100644
--- a/src/App.axaml.cs
+++ b/src/App.axaml.cs
@@ -164,12 +164,7 @@ namespace SourceGit
var resDic = new ResourceDictionary();
var overrides = JsonSerializer.Deserialize(File.ReadAllText(themeOverridesFile), JsonCodeGen.Default.ThemeOverrides);
foreach (var kv in overrides.BasicColors)
- {
- if (kv.Key.Equals("SystemAccentColor", StringComparison.Ordinal))
- resDic["SystemAccentColor"] = kv.Value;
- else
- resDic[$"Color.{kv.Key}"] = kv.Value;
- }
+ resDic[$"Color.{kv.Key}"] = kv.Value;
if (overrides.GraphColors.Count > 0)
Models.CommitGraph.SetPens(overrides.GraphColors, overrides.GraphPenThickness);
diff --git a/src/Commands/Diff.cs b/src/Commands/Diff.cs
index dea15592..da971e58 100644
--- a/src/Commands/Diff.cs
+++ b/src/Commands/Diff.cs
@@ -28,9 +28,9 @@ namespace SourceGit.Commands
Context = repo;
if (ignoreWhitespace)
- Args = $"diff --no-ext-diff --patch --ignore-cr-at-eol --ignore-all-space --unified={unified} {opt}";
+ Args = $"-c core.autocrlf=false diff --no-ext-diff --patch --ignore-cr-at-eol --ignore-all-space --unified={unified} {opt}";
else
- Args = $"diff --no-ext-diff --patch --ignore-cr-at-eol --unified={unified} {opt}";
+ Args = $"-c core.autocrlf=false diff --no-ext-diff --patch --ignore-cr-at-eol --unified={unified} {opt}";
}
public Models.DiffResult Result()
diff --git a/src/Commands/QueryCommitChildren.cs b/src/Commands/QueryCommitChildren.cs
index 293de912..bef09abb 100644
--- a/src/Commands/QueryCommitChildren.cs
+++ b/src/Commands/QueryCommitChildren.cs
@@ -4,14 +4,12 @@ namespace SourceGit.Commands
{
public class QueryCommitChildren : Command
{
- public QueryCommitChildren(string repo, string commit, int max, string filters)
+ public QueryCommitChildren(string repo, string commit, int max)
{
WorkingDirectory = repo;
Context = repo;
_commit = commit;
- if (string.IsNullOrEmpty(filters))
- filters = "--branches --remotes --tags";
- Args = $"rev-list -{max} --parents {filters} ^{commit}";
+ Args = $"rev-list -{max} --parents --branches --remotes ^{commit}";
}
public IEnumerable Result()
diff --git a/src/Commands/QueryLocalChanges.cs b/src/Commands/QueryLocalChanges.cs
index bdef9bf8..ea422215 100644
--- a/src/Commands/QueryLocalChanges.cs
+++ b/src/Commands/QueryLocalChanges.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Collections.Generic;
+using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace SourceGit.Commands
diff --git a/src/Models/Locales.cs b/src/Models/Locales.cs
index 9d24f491..d5e1534c 100644
--- a/src/Models/Locales.cs
+++ b/src/Models/Locales.cs
@@ -12,6 +12,7 @@ namespace SourceGit.Models
new Locale("English", "en_US"),
new Locale("Español", "es_ES"),
new Locale("Français", "fr_FR"),
+ new Locale("Italiano", "it_IT"),
new Locale("Português (Brasil)", "pt_BR"),
new Locale("Русский", "ru_RU"),
new Locale("简体中文", "zh_CN"),
diff --git a/src/Resources/Locales/de_DE.axaml b/src/Resources/Locales/de_DE.axaml
index 4714a652..bb31fa8f 100644
--- a/src/Resources/Locales/de_DE.axaml
+++ b/src/Resources/Locales/de_DE.axaml
@@ -546,6 +546,7 @@
Aktiviere '--reflog' Option
Öffne im Datei-Browser
Suche Branches/Tags/Submodule
+ Sichtbarkeit im Graphen
Aufheben
Im Graph ausblenden
Im Graph filtern
diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml
index 8a0ee04e..d06635eb 100644
--- a/src/Resources/Locales/en_US.axaml
+++ b/src/Resources/Locales/en_US.axaml
@@ -341,7 +341,7 @@
Remote:
Track files named '{0}'
Track all *{0} files
- Histories
+ HISTORY
Switch Horizontal/Vertical Layout
AUTHOR
AUTHOR TIME
@@ -453,7 +453,7 @@
Language
History Commits
Show author time instead of commit time in graph
- Show children in the comment details
+ Show children in the commit details
Subject Guide Length
GIT
Enable Auto CRLF
@@ -621,7 +621,7 @@
Pop
Drop Stash
Drop:
- Stashes
+ STASHES
CHANGES
STASHES
Statistics
@@ -668,7 +668,7 @@
Rescan Repositories in Default Clone Dir
Search Repositories...
Sort
- Changes
+ LOCAL CHANGES
Git Ignore
Ignore all *{0} files
Ignore *{0} files in the same folder
@@ -680,6 +680,7 @@
COMMIT & PUSH
Template/Histories
Trigger click event
+ Commit (Edit)
Stage all changes and commit
Empty commit detected! Do you want to continue (--allow-empty)?
CONFLICTS DETECTED
diff --git a/src/Resources/Locales/it_IT.axaml b/src/Resources/Locales/it_IT.axaml
new file mode 100644
index 00000000..2e3acf3e
--- /dev/null
+++ b/src/Resources/Locales/it_IT.axaml
@@ -0,0 +1,699 @@
+
+
+
+
+ Informazioni
+ Informazioni su SourceGit
+ • Creato con
+ • Il grafico è reso da
+ © 2024 sourcegit-scm
+ • Editor di testo da
+ • I font monospaziati provengono da
+ • Il codice sorgente è disponibile su
+ Client GUI Git open source e gratuito
+ Aggiungi Worktree
+ Cosa fare il checkout:
+ Branch esistente
+ Crea nuovo branch
+ Posizione:
+ Percorso per questo worktree. Supportato il percorso relativo.
+ Nome Branch:
+ Facoltativo. Predefinito è il nome della cartella di destinazione.
+ Traccia Branch:
+ Traccia branch remoto
+ Assistente AI
+ Usa AI per generare il messaggio di commit
+ Applica
+ Errore
+ Genera errori e si rifiuta di applicare la patch
+ Tutti gli errori
+ Simile a 'errore', ma mostra di più
+ File Patch:
+ Seleziona file .patch da applicare
+ Ignora modifiche agli spazi
+ Nessun avviso
+ Disattiva l'avviso sugli spazi finali
+ Applica Patch
+ Avviso
+ Mostra avvisi per alcuni errori, ma applica comunque
+ Spazi:
+ Archivia...
+ Salva Archivio In:
+ Seleziona il percorso del file archivio
+ Revisione:
+ Archivia
+ Richiedi Password SourceGit
+ FILE ASSUNTI COME INVARIATI
+ NESSUN FILE ASSUNTO COME INVARIATO
+ RIMUOVI
+ FILE BINARIO NON SUPPORTATO!!!
+ Attribuisci
+ L'ATTRIBUZIONE SU QUESTO FILE NON È SUPPORTATA!!!
+ Checkout ${0}$...
+ Confronta con Branch
+ Confronta con HEAD
+ Confronta con Worktree
+ Copia Nome Branch
+ Elimina ${0}$...
+ Elimina i {0} branch selezionati
+ Scarta tutte le modifiche
+ Avanzamento Veloce a ${0}$
+ Recupera ${0}$ in ${1}$...
+ Git Flow - Completa ${0}$
+ Unisci ${0}$ in ${1}$...
+ Recupera ${0}$
+ Recupera ${0}$ in ${1}$...
+ Invia ${0}$
+ Riallinea ${0}$ su ${1}$...
+ Rinomina ${0}$...
+ Imposta Branch di Tracciamento
+ Rimuovi Tracciamento
+ Confronto Branch
+ Byte
+ ANNULLA
+ Ripristina Questa Revisione
+ Ripristina la Revisione Padre
+ Genera messaggio di commit
+ CAMBIA MODALITÀ DI VISUALIZZAZIONE
+ Mostra come elenco di file e directory
+ Mostra come elenco di percorsi
+ Mostra come albero del filesystem
+ Checkout Branch
+ Checkout Commit
+ Avviso: Effettuando un checkout del commit, la tua HEAD sarà separata
+ Commit:
+ Branch:
+ Modifiche Locali:
+ Scarta
+ Non fare nulla
+ Stash e Ripristina
+ Cherry Pick
+ Aggiungi sorgente al messaggio di commit
+ Commit(s):
+ Conferma tutte le modifiche
+ Mainline:
+ Di solito non è possibile cherry-pick su una fusione perché non si sa quale lato della fusione deve essere considerato il mainline. Questa opzione consente di riprodurre la modifica relativa al genitore specificato.
+ Cancella Stash
+ Stai per cancellare tutti gli stash. Sei sicuro di voler continuare?
+ Clona Repository Remoto
+ Parametri Extra:
+ Argomenti addizionali per clonare il repository. Facoltativo.
+ Nome Locale:
+ Nome del repository. Facoltativo.
+ Cartella Principale:
+ URL del Repository:
+ CHIUDI
+ Editor
+ Cherry-Pick Questo Commit
+ Cherry-Pick...
+ Checkout Commit
+ Confronta con HEAD
+ Confronta con Worktree
+ Copia Info
+ Copia SHA
+ Azione Personalizzata
+ Rebase Interattivo ${0}$ fino a Qui
+ Riallinea ${0}$ fino a Qui
+ Ripristina ${0}$ fino a Qui
+ Annulla Commit
+ Modifica
+ Salva come Patch...
+ Unisci al Genitore
+ Unisci Commit Figli fino a Qui
+ MODIFICHE
+ Cerca Modifiche...
+ FILE
+ File LFS
+ Sottomodulo
+ INFORMAZIONI
+ AUTORE
+ MODIFICATO
+ CHI HA COMMITTATO
+ Controlla i riferimenti che contengono questo commit
+ IL COMMIT È CONTENUTO DA
+ Mostra solo le prime 100 modifiche. Vedi tutte le modifiche nella scheda MODIFICHE.
+ MESSAGGIO
+ GENITORI
+ RIFERIMENTI
+ SHA
+ Apri nel Browser
+ Inserisci l'oggetto del commit
+ Descrizione
+ Configura Repository
+ TEMPLATE DI COMMIT
+ Nome Template:
+ Contenuto Template:
+ AZIONE PERSONALIZZATA
+ Argomenti:
+ ${REPO} - Percorso del repository; ${SHA} - SHA del commit selezionato
+ File Eseguibile:
+ Nome:
+ Ambito:
+ Commit
+ Repository
+ Indirizzo Email
+ Indirizzo email
+ GIT
+ Recupera automaticamente i remoti
+ Minuto/i
+ Remoto Predefinito
+ Abilita --prune durante il fetch
+ Abilita --signoff per i commit
+ TRACCIAMENTO ISSUE
+ Aggiungi Regola Esempio per GitHub
+ Aggiungi Regola Esempio per Jira
+ Aggiungi Regola Esempio per Issue GitLab
+ Aggiungi Regola Esempio per Merge Request GitLab
+ Nuova Regola
+ Espressione Regex Issue:
+ Nome Regola:
+ URL Risultato:
+ Utilizza $1, $2 per accedere ai valori dei gruppi regex.
+ AI
+ Servizio Preferito:
+ Se il 'Servizio Preferito' è impostato, SourceGit utilizzerà solo quello per questo repository. In caso contrario, se sono disponibili più servizi, verrà mostrato un menu contestuale per sceglierne uno.
+ Proxy HTTP
+ Proxy HTTP usato da questo repository
+ Nome Utente
+ Nome utente per questo repository
+ Spazi di Lavoro
+ Colore
+ Ripristina schede all'avvio
+ Guida Commit Convenzionali
+ Modifica Sostanziale:
+ Issue Chiusa:
+ Dettaglio Modifiche:
+ Ambito:
+ Descrizione Breve:
+ Tipo di Modifica:
+ Copia
+ Copia Tutto il Testo
+ Copia Percorso
+ Copia Nome File
+ Crea Branch...
+ Basato Su:
+ Checkout del Branch Creato
+ Modifiche Locali:
+ Scarta
+ Non Fare Nulla
+ Stash e Ripristina
+ Nome Nuovo Branch:
+ Inserisci il nome del branch.
+ Crea Branch Locale
+ Crea Tag...
+ Nuovo Tag Su:
+ Firma con GPG
+ Messaggio Tag:
+ Facoltativo.
+ Nome Tag:
+ Formato consigliato: v1.0.0-alpha
+ Invia a tutti i remoti dopo la creazione
+ Crea Nuovo Tag
+ Tipo:
+ annotato
+ leggero
+ Tieni premuto Ctrl per avviare direttamente
+ Taglia
+ Elimina Branch
+ Branch:
+ Stai per eliminare un branch remoto!!!
+ Elimina anche il branch remoto ${0}$
+ Elimina Branch Multipli
+ Stai per eliminare più branch contemporaneamente. Controlla attentamente prima di procedere!
+ Elimina Remoto
+ Remoto:
+ Destinazione:
+ Conferma Eliminazione Gruppo
+ Conferma Eliminazione Repository
+ Elimina Sottomodulo
+ Percorso Sottomodulo:
+ Elimina Tag
+ Tag:
+ Elimina dai repository remoti
+ DIFF BINARIO
+ NUOVO
+ VECCHIO
+ Copia
+ Modalità File Modificata
+ Ignora Modifiche agli Spazi
+ MODIFICA OGGETTO LFS
+ Differenza Successiva
+ NESSUNA MODIFICA O SOLO CAMBIAMENTI DI FINE LINEA
+ Differenza Precedente
+ Salva come Patch
+ Mostra Simboli Nascosti
+ Diff Affiancato
+ SOTTOMODULO
+ NUOVO
+ Scambia
+ Evidenziazione Sintassi
+ Avvolgimento delle Parole
+ Apri nello Strumento di Merge
+ Mostra Tutte le Righe
+ Diminuisci Numero di Righe Visibili
+ Aumenta Numero di Righe Visibili
+ SELEZIONA UN FILE PER VISUALIZZARE LE MODIFICHE
+ Apri nello Strumento di Merge
+ Scarta Modifiche
+ Tutte le modifiche locali nella copia di lavoro.
+ Modifiche:
+ Includi file ignorati
+ Un totale di {0} modifiche saranno scartate
+ Questa azione non può essere annullata!!!
+ Segnalibro:
+ Nuovo Nome:
+ Destinazione:
+ Modifica Gruppo Selezionato
+ Modifica Repository Selezionato
+ Esegui Azione Personalizzata
+ Nome Azione:
+ Avanzamento Veloce (senza verifica)
+ Recupera
+ Recupera da tutti i remoti
+ Recupera senza tag
+ Remoto:
+ Recupera Modifiche Remote
+ Presumi invariato
+ Scarta...
+ Scarta {0} file...
+ Scarta Modifiche nelle Righe Selezionate
+ Apri Strumento di Merge Esterno
+ Salva come Patch...
+ Staging
+ Staging {0} file
+ Staging Modifiche nelle Righe Selezionate
+ Stash...
+ Stash {0} file...
+ Rimuovi dallo Staging
+ Rimuovi dallo Staging {0} file
+ Rimuovi dallo Staging Modifiche nelle Righe Selezionate
+ Usa Il Loro (checkout --theirs)
+ Usa Il Mio (checkout --ours)
+ Cronologia File
+ CONTENUTO
+ MODIFICA
+ FILTRO
+ Git-Flow
+ Branch di Sviluppo:
+ Feature:
+ Prefisso Feature:
+ FLOW - Completa Feature
+ FLOW - Completa Hotfix
+ FLOW - Completa Release
+ Target:
+ Hotfix:
+ Prefisso Hotfix:
+ Inizializza Git-Flow
+ Mantieni branch
+ Branch di Produzione:
+ Release:
+ Prefisso Release:
+ Inizia Feature...
+ FLOW - Inizia Feature
+ Inizia Hotfix...
+ FLOW - Inizia Hotfix
+ Inserisci nome
+ Inizia Release...
+ FLOW - Inizia Release
+ Prefisso Tag Versione:
+ Git LFS
+ Aggiungi Modello di Tracciamento...
+ Il modello è un nome file
+ Modello Personalizzato:
+ Aggiungi Modello di Tracciamento a Git LFS
+ Recupera
+ Recupera Oggetti LFS
+ Esegui `git lfs fetch` per scaricare gli oggetti Git LFS. Questo non aggiorna la copia di lavoro.
+ Installa hook di Git LFS
+ Mostra Bloccaggi
+ Nessun File Bloccato
+ Blocca
+ Mostra solo i miei bloccaggi
+ Bloccaggi LFS
+ Sblocca
+ Forza Sblocco
+ Elimina
+ Esegui `git lfs prune` per eliminare vecchi file LFS dallo storage locale
+ Pull
+ Pull Oggetti LFS
+ Esegui `git lfs pull` per scaricare tutti i file LFS per il ref corrente e fare il checkout
+ Push
+ Push Oggetti LFS
+ Invia grandi file in coda al punto finale di Git LFS
+ Remoto:
+ Traccia file con nome '{0}'
+ Traccia tutti i file *{0}
+ Storico
+ Passa Layout Orizzontale/Verticale
+ AUTORE
+ ORA AUTORE
+ GRAFICO & OGGETTO
+ SHA
+ ORA COMMIT
+ {0} COMMIT SELEZIONATI
+ Tieni premuto 'Ctrl' o 'Shift' per selezionare più commit.
+ Tieni premuto ⌘ o ⇧ per selezionare più commit.
+ SUGGERIMENTI:
+ Riferimento Scorciatoie da Tastiera
+ GLOBALE
+ Annulla il popup corrente
+ Chiudi la pagina corrente
+ Vai alla pagina precedente
+ Vai alla pagina successiva
+ Crea una nuova pagina
+ Apri la finestra di preferenze
+ REPOSITORY
+ Conferma le modifiche in fase
+ Conferma e invia le modifiche in fase
+ Aggiungi tutte le modifiche e conferma
+ Crea un nuovo branch dal commit selezionato
+ Scarta le modifiche selezionate
+ Recupera, avvia direttamente
+ Modalità Dashboard (Predefinita)
+ Recupera e integra, avvia direttamente
+ Invia, avvia direttamente
+ Forza il ricaricamento di questo repository
+ Aggiungi/Rimuovi le modifiche selezionate
+ Modalità ricerca commit
+ Passa a 'Modifiche'
+ Passa a 'Storico'
+ Passa a 'Stashes'
+ EDITOR TESTO
+ Chiudi il pannello di ricerca
+ Trova il prossimo risultato
+ Trova il risultato precedente
+ Apri il pannello di ricerca
+ Aggiungi
+ Rimuovi
+ Scarta
+ Inizializza Repository
+ Percorso:
+ Cherry-Pick in corso. Premi 'Annulla' per ripristinare l'HEAD originale.
+ Richiesta di merge in corso. Premi 'Annulla' per ripristinare l'HEAD originale.
+ Rebase in corso. Premi 'Annulla' per ripristinare l'HEAD originale.
+ Revert in corso. Premi 'Annulla' per ripristinare l'HEAD originale.
+ Rebase Interattivo
+ Branch di destinazione:
+ Su:
+ Apri nel Browser
+ Copia il Link
+ ERRORE
+ AVVISO
+ Unisci Branch
+ In:
+ Opzione di Merge:
+ Branch Sorgente:
+ Sposta Nodo Repository
+ Seleziona nodo padre per:
+ Nome:
+ Git NON è configurato. Vai su [Preferenze] e configurarlo prima.
+ Apri Cartella Dati App
+ Apri con...
+ Opzionale.
+ Crea Nuova Pagina
+ Segnalibro
+ Chiudi Tab
+ Chiudi Altri Tab
+ Chiudi i Tab a Destra
+ Copia Percorso Repository
+ Repository
+ Incolla
+ Proprio ora
+ {0} minuti fa
+ {0} ore fa
+ Ieri
+ {0} giorni fa
+ Il mese scorso
+ {0} mesi fa
+ L'anno scorso
+ {0} anni fa
+ Preferenze
+ AI
+ Analizza il Prompt Differenza
+ Chiave API
+ Genera Prompt Soggetto
+ Modello
+ Nome
+ Server
+ ASPETTO
+ Font Predefinito
+ Font Size
+ Dimensione Font Predefinita
+ Dimensione Font Editor
+ Font Monospaziato
+ Usa solo font monospaziato nell'editor
+ Tema
+ Sostituzioni Tema
+ Usa larghezza fissa per i tab nella barra del titolo
+ Usa cornice finestra nativa
+ STRUMENTO DI DIFFERENZA/UNIONE
+ Percorso Installazione
+ Inserisci il percorso per lo strumento di differenza/unione
+ Strumento
+ GENERALE
+ Controlla aggiornamenti all'avvio
+ Lingua
+ Numero massimo di commit nella cronologia
+ Mostra l'orario dell'autore anziché quello del commit nel grafico
+ Lunghezza Guida Soggetto
+ GIT
+ Abilita Auto CRLF
+ Cartella predefinita per cloni
+ Email Utente
+ Email globale utente Git
+ Percorso Installazione
+ Nome Utente
+ Nome globale utente Git
+ Versione di Git
+ Git (>= 2.23.0) è richiesto da questa applicazione
+ FIRMA GPG
+ Firma GPG per commit
+ Firma GPG per tag
+ Formato GPG
+ Percorso Programma Installato
+ Inserisci il percorso per il programma GPG installato
+ Chiave Firma Utente
+ Chiave GPG dell'utente per la firma
+ INTEGRAZIONE
+ SHELL/TERMINALE
+ Shell/Terminale
+ Percorso
+ Potatura Remota
+ Destinazione:
+ Potatura Worktrees
+ Potatura delle informazioni di worktree in `$GIT_DIR/worktrees`
+ Pull
+ Branch:
+ Recupera tutti i branch
+ In:
+ Modifiche Locali:
+ Scarta
+ Non fare nulla
+ Accantona e Riapplica
+ Recupera senza tag
+ Remoto:
+ Pull (Fetch & Merge)
+ Usa rebase anziché merge
+ Push
+ Assicurati che i submoduli siano stati spinti
+ Forza il push
+ Branch Locale:
+ Remoto:
+ Invia modifiche al remoto
+ Branch Remoto:
+ Imposta come branch di tracking
+ Invia tutti i tag
+ Invia Tag al Remoto
+ Invia a tutti i remoti
+ Remoto:
+ Tag:
+ Esci
+ Rebase Branch Corrente
+ Accantona & Riapplica modifiche locali
+ Su:
+ Rebase:
+ Aggiorna
+ Aggiungi Remoto
+ Modifica Remoto
+ Nome:
+ Nome del remoto
+ URL del Repository:
+ URL del repository Git remoto
+ Copia URL
+ Elimina...
+ Modifica...
+ Recupera
+ Apri nel Browser
+ Pota
+ Conferma Rimozione Worktree
+ Abilita opzione `--force`
+ Destinazione:
+ Rinomina Branch
+ Nuovo Nome:
+ Nome univoco per questo branch
+ Branch:
+ ANNULLA
+ Recupero automatico delle modifiche dai remoti...
+ Pulizia (GC & Potatura)
+ Esegui il comando `git gc` per questo repository.
+ Cancella tutto
+ Configura questo repository
+ CONTINUA
+ Azioni Personalizzate
+ Nessuna Azione Personalizzata
+ Abilita opzione '--reflog'
+ Apri nel Browser File
+ Cerca Branch/Tag/Submodule
+ FILTRATO DA:
+ BRANCH LOCALI
+ Vai a HEAD
+ Abilita opzione '--first-parent'
+ Crea Branch
+ Apri in {0}
+ Apri in Strumenti Esterni
+ Aggiorna
+ REMOTI
+ AGGIUNGI REMOTO
+ RISOLVI
+ Cerca Commit
+ File
+ Messaggio
+ SHA
+ Autore & Committente
+ Branch Corrente
+ Mostra Tag come Albero
+ Statistiche
+ SUBMODULE
+ AGGIUNGI SUBMODULE
+ AGGIORNA SUBMODULE
+ TAG
+ NUOVO TAG
+ Apri nel Terminale
+ WORKTREE
+ AGGIUNGI WORKTREE
+ POTATURA
+ URL del Repository Git
+ Reset Branch Corrente alla Revisione
+ Modalità Reset:
+ Sposta a:
+ Branch Corrente:
+ Mostra nel File Explorer
+ Revert Commit
+ Commit:
+ Commit delle modifiche di revert
+ Modifica Messaggio di Commit
+ Usa 'Shift+Enter' per inserire una nuova riga. 'Enter' è il tasto rapido per il pulsante OK
+ In esecuzione. Attendere...
+ SALVA
+ Salva come...
+ La patch è stata salvata con successo!
+ Scansiona Repository
+ Cartella Principale:
+ Controlla Aggiornamenti...
+ È disponibile una nuova versione del software:
+ Errore durante il controllo degli aggiornamenti!
+ Scarica
+ Salta questa versione
+ Aggiornamento Software
+ Non ci sono aggiornamenti disponibili.
+ Squash Commit
+ In:
+ Chiave Privata SSH:
+ Percorso per la chiave SSH privata
+ AVVIA
+ Accantona
+ Includi file non tracciati
+ Mantieni file indicizzati
+ Messaggio:
+ Opzionale. Nome di questo accantonamento
+ Solo modifiche indicizzate
+ Sia le modifiche indicizzate che quelle non indicizzate dei file selezionati saranno accantonate!!!
+ Accantona Modifiche Locali
+ Applica
+ Elimina
+ Estrai
+ Elimina Accantonamento
+ Elimina:
+ Accantonamenti
+ MODIFICHE
+ ACCANTONAMENTI
+ Statistiche
+ COMMIT
+ COMMITTER
+ MESE
+ SETTIMANA
+ COMMIT:
+ AUTORI:
+ PANORAMICA
+ SUBMODULE
+ Aggiungi Submodule
+ Copia Percorso Relativo
+ Recupera submodule annidati
+ Apri Repository Submodule
+ Percorso Relativo:
+ Cartella relativa per memorizzare questo modulo.
+ Elimina Submodule
+ OK
+ Copia Nome Tag
+ Copia Messaggio Tag
+ Elimina ${0}$...
+ Unisci ${0}$ in ${1}$...
+ Invia ${0}$...
+ URL:
+ Aggiorna Submodule
+ Tutti i submodule
+ Inizializza se necessario
+ Ricorsivamente
+ Submodule:
+ Usa opzione --remote
+ Avviso
+ Pagina di Benvenuto
+ Crea Gruppo
+ Crea Sottogruppo
+ Clona Repository
+ Elimina
+ TRASCINA & RILASCIA CARTELLA SUPPORTATO. RAGGRUPPAMENTI PERSONALIZZATI SUPPORTATI.
+ Modifica
+ Sposta in un Altro Gruppo
+ Apri Tutti i Repository
+ Apri Repository
+ Apri Terminale
+ Riscansiona Repository nella Cartella Clone Predefinita
+ Cerca Repository...
+ Ordina
+ Modifiche
+ Git Ignore
+ Ignora tutti i file *{0}
+ Ignora i file *{0} nella stessa cartella
+ Ignora i file nella stessa cartella
+ Ignora solo questo file
+ Modifica
+ Puoi indicizzare questo file ora.
+ COMMIT
+ COMMIT & PUSH
+ Template/Storico
+ Attiva evento click
+ Indica tutte le modifiche e fai il commit
+ Commit vuoto rilevato! Vuoi continuare (--allow-empty)?
+ CONFLITTI RILEVATI
+ CONFLITTI NEI FILE RISOLTI
+ INCLUDI FILE NON TRACCIATI
+ NESSUN MESSAGGIO RECENTE INSERITO
+ NESSUN TEMPLATE DI COMMIT
+ INDICIZZATI
+ RIMUOVI DALL'INDICIZZAZIONE
+ RIMUOVI TUTTO DALL'INDICIZZAZIONE
+ NON INDICIZZATI
+ INDICIZZA
+ INDICIZZA TUTTO
+ VISUALIZZA COME NON MODIFICATO
+ Template: ${0}$
+ Clicca con il tasto destro sul file(i) selezionato, quindi scegli come risolvere i conflitti.
+ WORKSPACE:
+ Configura Workspaces...
+ WORKTREE
+ Copia Percorso
+ Blocca
+ Rimuovi
+ Sblocca
+
diff --git a/src/Resources/Locales/ru_RU.axaml b/src/Resources/Locales/ru_RU.axaml
index a9de62e7..84475a52 100644
--- a/src/Resources/Locales/ru_RU.axaml
+++ b/src/Resources/Locales/ru_RU.axaml
@@ -685,6 +685,7 @@
ЗАФИКСИРОВАТЬ и ОТПРАВИТЬ
Шаблон/Истории
Запустить событие щелчка
+ Зафиксировать (Редактировать)
Подготовить все изменения и зафиксировать
Обнаружена пустая фиксация! Вы хотите продолжить (--allow-empty)?
ОБНАРУЖЕНЫ КОНФЛИКТЫ
diff --git a/src/Resources/Locales/zh_CN.axaml b/src/Resources/Locales/zh_CN.axaml
index a5af3400..9cf0eedf 100644
--- a/src/Resources/Locales/zh_CN.axaml
+++ b/src/Resources/Locales/zh_CN.axaml
@@ -684,6 +684,7 @@
提交并推送
历史输入/模板
触发点击事件
+ 提交(修改原始提交)
自动暂存所有变更并提交
提交未包含变更文件!是否继续(--allow-empty)?
检测到冲突
diff --git a/src/Resources/Locales/zh_TW.axaml b/src/Resources/Locales/zh_TW.axaml
index bf8b32e1..920d9114 100644
--- a/src/Resources/Locales/zh_TW.axaml
+++ b/src/Resources/Locales/zh_TW.axaml
@@ -683,6 +683,7 @@
提交並推送
歷史輸入/範本
觸發點擊事件
+ 提交(修改現有提交)
自動暫存全部變更並提交
未包含任何檔案變更! 您是否仍要提交 (--allow-empty)?
檢測到衝突
diff --git a/src/Resources/Styles.axaml b/src/Resources/Styles.axaml
index 82970549..a42b2cb8 100644
--- a/src/Resources/Styles.axaml
+++ b/src/Resources/Styles.axaml
@@ -164,6 +164,7 @@
+
+
+
+
+
+
+
-
-
@@ -119,12 +113,6 @@
Margin="0,0,16,0"
PointerEntered="OnSHAPointerEntered"
PointerPressed="OnSHAPressed">
-
-
-
-
@@ -162,12 +150,6 @@
Margin="0,0,16,0"
PointerEntered="OnSHAPointerEntered"
PointerPressed="OnSHAPressed">
-
-
-
-
@@ -205,13 +187,7 @@
Message="{Binding #ThisControl.Message}"
IssueTrackerRules="{Binding #ThisControl.IssueTrackerRules}"
HorizontalAlignment="Stretch"
- TextWrapping="Wrap">
-
-
-
-
+ TextWrapping="Wrap">
diff --git a/src/Views/CommitBaseInfo.axaml.cs b/src/Views/CommitBaseInfo.axaml.cs
index 264ff779..57592647 100644
--- a/src/Views/CommitBaseInfo.axaml.cs
+++ b/src/Views/CommitBaseInfo.axaml.cs
@@ -151,7 +151,9 @@ namespace SourceGit.Views
private void OnSHAPressed(object sender, PointerPressedEventArgs e)
{
- if (DataContext is ViewModels.CommitDetail detail && sender is Control { DataContext: string sha })
+ var point = e.GetCurrentPoint(this);
+
+ if (point.Properties.IsLeftButtonPressed && DataContext is ViewModels.CommitDetail detail && sender is Control { DataContext: string sha })
{
detail.NavigateTo(sha);
}
diff --git a/src/Views/CommitMessagePresenter.cs b/src/Views/CommitMessagePresenter.cs
index 7ca823dc..a767b395 100644
--- a/src/Views/CommitMessagePresenter.cs
+++ b/src/Views/CommitMessagePresenter.cs
@@ -296,7 +296,8 @@ namespace SourceGit.Views
if (currentParent is { DataContext: ViewModels.CommitDetail currentDetail } &&
currentDetail.Commit.SHA == lastDetailCommit)
{
- _inlineCommits.Add(sha, c);
+ if (!_inlineCommits.ContainsKey(sha))
+ _inlineCommits.Add(sha, c);
// Make sure user still hovers the target SHA.
if (_lastHover == link && c != null)
diff --git a/src/Views/CreateBranch.axaml b/src/Views/CreateBranch.axaml
index 3516c317..caea0be4 100644
--- a/src/Views/CreateBranch.axaml
+++ b/src/Views/CreateBranch.axaml
@@ -69,21 +69,20 @@
Margin="0,0,8,0"
Text="{DynamicResource Text.CreateBranch.LocalChanges}"/>
-
-
-
-
+ IsCheckedChanged="OnLocalChangeActionIsCheckedChanged"/>
+ IsCheckedChanged="OnLocalChangeActionIsCheckedChanged"/>
+ IsCheckedChanged="OnLocalChangeActionIsCheckedChanged"/>
+
@@ -76,13 +77,16 @@
-
+
-
+
@@ -170,8 +174,8 @@
-
-
+
+
-
-
+
+
+
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Views/Launcher.axaml.cs b/src/Views/Launcher.axaml.cs
index 29d90e09..4137579d 100644
--- a/src/Views/Launcher.axaml.cs
+++ b/src/Views/Launcher.axaml.cs
@@ -72,6 +72,11 @@ namespace SourceGit.Views
return _unhandledModifiers.HasFlag(modifier);
}
+ public void ClearKeyModifier()
+ {
+ _unhandledModifiers = KeyModifiers.None;
+ }
+
protected override void OnOpened(EventArgs e)
{
base.OnOpened(e);
diff --git a/src/Views/Pull.axaml b/src/Views/Pull.axaml
index a23bb5d5..f6aa245f 100644
--- a/src/Views/Pull.axaml
+++ b/src/Views/Pull.axaml
@@ -77,21 +77,20 @@
Margin="0,0,8,0"
Text="{DynamicResource Text.Pull.LocalChanges}"/>
-
-
-
-
+ IsCheckedChanged="OnLocalChangeActionIsCheckedChanged"/>
+ IsCheckedChanged="OnLocalChangeActionIsCheckedChanged"/>
+ IsCheckedChanged="OnLocalChangeActionIsCheckedChanged"/>
+
+
+
+
@@ -67,9 +83,9 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
();
- (DataContext as ViewModels.Repository)?.StashAll(launcher?.HasKeyModifier(KeyModifiers.Control) ?? false);
- e.Handled = true;
+ if (launcher is not null && DataContext is ViewModels.Repository repo)
+ {
+ var startDirectly = launcher.HasKeyModifier(KeyModifiers.Control);
+ launcher.ClearKeyModifier();
+ repo.StashAll(startDirectly);
+ e.Handled = true;
+ }
}
private void OpenGitFlowMenu(object sender, RoutedEventArgs e)
diff --git a/src/Views/TextDiffView.axaml.cs b/src/Views/TextDiffView.axaml.cs
index da2d9ed1..ea70ac93 100644
--- a/src/Views/TextDiffView.axaml.cs
+++ b/src/Views/TextDiffView.axaml.cs
@@ -619,6 +619,7 @@ namespace SourceGit.Views
TextArea.TextView.VisualLinesChanged += OnTextViewVisualLinesChanged;
UpdateTextMate();
+ OnTextViewVisualLinesChanged(null, null);
}
protected override void OnUnloaded(RoutedEventArgs e)
diff --git a/src/Views/WorkingCopy.axaml b/src/Views/WorkingCopy.axaml
index c830e5e8..e77547e7 100644
--- a/src/Views/WorkingCopy.axaml
+++ b/src/Views/WorkingCopy.axaml
@@ -243,16 +243,21 @@
Content="{DynamicResource Text.WorkingCopy.Amend}"/>
-
-
+
+
+
+
+
+
+
+