IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

Wiggle - Online nel cloud

Esegui wiggle nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando wiggle che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


wiggle - applica patch rifiutate ed esegui differenze a parole

SINOSSI


dimenare [funzione] [opzioni] filetto [File]

DESCRIZIONE


La funzione principale di dimenare è applicare una patch a un file in modo simile al
patch(1) programma.

La differenza distintiva di dimenare è che tenterà di applicare una patch anche se il
La parte "prima" della patch non corrisponde perfettamente al file di destinazione. Questo è ottenuto da
rompere il file e la patch in parole e trovare il miglior allineamento delle parole nel file
con le parole nella patch. Una volta trovato questo allineamento, eventuali differenze (parole)
nella patch vengono applicati al file nel miglior modo possibile.

Inoltre dimenare rileverà (in alcuni casi) le modifiche che sono già state applicate e
ignorali.

dimenare assicura che ogni modifica nella patch venga applicata in qualche modo al file di destinazione. Se un
non è possibile apportare particolari modifiche al file, il file viene annotato per mostrare dove si trova il
il cambiamento dovrebbe essere fatto in modo simile al unire(1) programma con il -A opzione. Ogni
l'annotazione contiene 3 componenti: una parte del file originale in cui la modifica dovrebbe
essere applicato, una parte della patch che non può essere abbinata con precisione nel file, e il
testo che dovrebbe sostituire quella parte della patch. Questi sono separati da linee
contenente esattamente 7 caratteri identici, '<', '|', '=' o '>', possibilmente
seguito da una parola descrittiva. Così
<<<<<<< trovato
Una parte del file originale
|||||||| previsto
testo da sostituire
=======
testo per sostituirlo con
>>>>>>> sostituzione
indica che "testo da sostituire" deve essere sostituito da "testo con cui sostituirlo" da qualche parte
nella parte del file originale. però dimenare non sono riuscito a trovare un posto dove fare
questo cambiamento.

dimenare può anche produrre rapporti sui conflitti che mostrino solo le parole coinvolte piuttosto
piuttosto che mostrare righe intere. In questo caso l'output è simile a:
<<<---originale|||vecchio===nuovo--->>>

Un possibile utilizzo di dimenare è correre patch per applicare qualche patch, e per raccogliere un elenco di
rifiuta monitorando i messaggi di errore dalla patch. Quindi per ogni file per il quale a
il rifiuto è stato trovato, corri
wiggle --replace fileoriginale fileoriginale.rej

Infine, ogni file deve essere esaminato per risolvere eventuali conflitti irrisolti e per assicurarsi
la patch applicata è semanticamente corretta.

In alternativa, il file della patch originale può essere inviato al sfogliare modalità come
wiggle -B < file di patch

Ciò consentirà di ispezionare e, in una certa misura, modificare i cambiamenti e i conflitti;
e quindi i risultati possono essere salvati.

VERSIONI
Le seguenti opzioni sono comprese da dimenare. Alcuni di questi sono spiegati in più
dettagli nelle sezioni seguenti su MERGE, DIFF, EXTRACT e BROWSE.

-m, --unisci
Seleziona la funzione "Unisci". Questa è la funzione predefinita.

-d, --diff
Seleziona la funzione "differenza". Questo mostra le differenze tra i file. questo può
essere dato dopo --navigare (vedi sotto) nel qual caso una patch o una differenza di due file può
essere visionato senza gli originali.

-x, --estratto
Seleziona la funzione "Estrai". Questo estrae un ramo di una patch o di un file di unione.

-B, --navigare
Seleziona la funzione "sfoglia". Questo è simile a "merge" (o "diff") solo con a
presentazione diversa. Invece di inviare semplicemente il risultato allo standard
output, viene presentato utilizzando una GUI basata su ncurses in modo che ogni pezzo della patch
può essere esaminato per capire quali conflitti erano coinvolti e cosa doveva essere
ignorato in ordine di posizionamento della patch.

-w, --parole
Richiedi che tutte le operazioni e la visualizzazione siano basate su parole. Questa è l'impostazione predefinita per il
funzione "diff".

-l, --Linee
Richiedi che tutte le operazioni e la visualizzazione siano basate su righe.

-b, --ignora-spazi vuoti
De-enfatizzare lo spazio bianco (spazio, tab e newline) determina le differenze e
modifiche.

Normalmente lo spazio bianco viene trattato come una parola che può essere abbinata o modificata da a
toppa. Quando questo flag è in vigore, lo spazio bianco funge solo da separatore tra
altre parole e non è abbinato. L'effetto di questo è che i cambiamenti nel
quantità di spazio bianco non sono considerate significative.

Per essere precisi, qualsiasi spazio bianco è combinato con la parola precedente o, nel caso
di spazio iniziale su una riga, con la parola seguente. Tuttavia non è coinvolto in
eventuali confronti di quella parola. Se una patch elimina una parola, lo spazio bianco allegato
viene anche eliminato. Se una patch aggiunge una parola, lo spazio bianco allegato viene aggiunto come
bene.

Una riga vuota, o una che contiene solo spazi, sarà trattata come una singola parola
che corrisponderà a qualsiasi altra riga vuota, indipendentemente da quanti spazi ha.

-b non ha effetto in --linea modalità.

-p, --toppa
Tratta l'ultimo file nominato come una patch invece di un file (con --diff) o un'unione
(--estratto). In unire or sfogliare modalità, -p richiede che ci sia esattamente un file che
è una patch e che può contenere patch a più file. Le patch sono unite
in ogni file. Quando utilizzato in unire modalità, questo utilizzo richiede il --sostituire opzione
poiché scrivere molti file uniti su standard-out non è pratico.

Quando si elabora una patch multi-file, -p può essere seguito da un argomento numerico
che indica quanti componenti del nome file devono essere eliminati dai file nominati nel
file di patch. Se non viene fornito alcun argomento numerico, dimenare dedurrà un appropriato
numero basato su quali file sono presenti nel filesystem.

-r, --sostituire
Normalmente l'output unito viene scritto nell'output standard. Insieme a --sostituire, le
il file originale viene sostituito con l'output di unione. In sfogliare modalità, questo istruisce
dimenare per salvare sempre l'unione risultante all'uscita.

-o, --uscita=
Piuttosto che scrivere il risultato su stdout o sostituire il file originale, questo
richiede che l'output venga scritto nel file specificato. Questo è solo significativo
con --unisci or --navigare quando viene data una singola unione da sfogliare.

Questa opzione ha la precedenza -r.

-R, --inversione
Se utilizzato con il diff funzione, scambiare i file prima di calcolare il
differenze. Se utilizzato con il unire or sfogliare dimenare tentare di
annullare le modifiche anziché applicarle.

-i, --no-ignora
Normalmente Wiggle ignorerà i cambiamenti nella patch che sembrano essere già stati
applicato nell'originale. Con questo flag tali modifiche vengono segnalate come conflitti
piuttosto che essere ignorato.

-W, --mostra-oscilla
Se usato con --unisci, i conflitti che possono essere spostati in posizione sono segnalati come
è in conflitto con una stanza extra che mostra quale sarebbe il risultato se questo flag
non era stato utilizzato. La strofa extra viene introdotta con un verso contenente 7
e commerciale (&) caratteri così:
<<<<<<< trovato
Una parte del file originale
|||||||| previsto
testo da sostituire
=======
testo per sostituirlo con
&&&&&&& risoluzione
Testo che risulterebbe da un'oscillazione riuscita
>>>>>>> sostituzione

--report-wiggles
Se un'unione riesce ad applicare tutte le modifiche, normalmente uscirà con a
stato di successo (0), solo segnalazione di fallimento (1) se si è verificato un conflitto ed è stato
annotato. Insieme a --report-wiggles dimenare segnalerà anche il fallimento in caso di modifiche
doveva essere dimenato. Questo può essere utile quando dimenare viene utilizzato per le unioni automatiche
come con git. Se si verificano oscillazioni, git riporterà il fallimento e i risultati
possono essere esaminati per confermare che siano accettabili.

-h, --Aiuto
Stampa un semplice messaggio di aiuto. Se dato dopo uno dei selettori di funzione
(--unisci, --diff, --estratto, --navigare) viene visualizzato un aiuto specifico per quella funzione.

-V, --versione
Visualizza il numero di versione di dimenare.

-v, --verboso
Abilita la modalità dettagliata. Attualmente questo non fa differenza.

-q, --silenzioso
Abilita la modalità silenziosa. Questo sopprime il messaggio dalla funzione di unione quando c'è
sono conflitti irrisolvibili.

PAROLE
dimenare può dividere un testo in righe o parole durante l'esecuzione delle sue attività. Una linea è semplicemente
una stringa di caratteri terminata da una nuova riga. Una parola è o un contiguo massimale
stringa di caratteri alfanumerici (incluso il carattere di sottolineatura), una stringa di spazio contigua massimale o
caratteri di tabulazione o qualsiasi altro carattere singolo.

MERGE
La funzione di unione modifica un dato testo trovando tutte le modifiche tra altri due testi
e imporre tali modifiche al testo dato.

Normalmente dimenare si concentra su quali parole sono cambiate in modo da massimizzare la possibilità di
trovare una buona corrispondenza nel testo dato per il contesto di un dato cambiamento. Tuttavia può
considera invece solo linee intere.

dimenare estrae i tre testi di cui ha bisogno dai file elencati nella riga di comando.
Possono essere elencati 1, 2 o 3 file e ciascuno di essi può essere un trattino solitario che significa
ingresso standard.

Se viene fornito un file e il -p l'opzione non è presente, il file viene trattato come a unire
file, ovvero l'output di "merge -A" o "wiggle". Tale file contiene implicitamente tre
flussi e questi vengono estratti e confrontati.

Se vengono forniti due file, il primo contiene semplicemente il testo principale e il secondo è
trattato come un file patch (l'output di "diff -u" o "diff -c", o un file ".rej" da
patch) e gli altri due testi ne sono estratti.

Se un file viene fornito insieme a -p opzione, il file viene trattato come un file di patch
contenente i nomi dei file che patch. In questo caso più operazioni di unione
può accadere e ognuno prende un flusso da un file chiamato nella patch e gli altri due
dalla patch stessa. Il --sostituire l'opzione è richiesta e i risultati vengono riscritti
ai file di destinazione.

Infine se sono elencati tre file, si presume che contengano il testo dato e i due
altri testi, in ordine.

Normalmente il risultato dell'unione viene scritto nell'output standard. Se la -r bandiera è data,
l'output viene scritto in un file che sostituisce il file originale fornito. In questo caso il
il file originale è stato rinominato per avere a .porig suffisso (per "originale rattoppato" che ha senso
se usi per la prima volta patch per applicare una patch, quindi utilizzare dimenare per far entrare gli scarti).

Inoltre se il -o l'opzione è data con un nome di file, l'output verrà scritto su quello
file. In questo caso non viene creato alcun backup.

Se non si verificano errori (come errori di accesso ai file) dimenare uscirà con uno stato di 0 se all
le modifiche sono state unite con successo e con uno stato di uscita pari a 1 e un breve messaggio se presente
non è stato possibile unire completamente le modifiche e sono state invece inserite come annotazioni. Tuttavia se
o --report-wiggles or --mostra-oscilla sono state date opzioni, dimenare esisterà anche con
stato 1 se è stato necessario apportare modifiche anche se l'operazione ha avuto successo.

La funzione di unione può operare in tre diverse modalità rispetto a righe o parole.

Grazie alla --Linee opzione, le righe intere vengono confrontate e gli eventuali conflitti vengono riportati come interi
linee che devono essere sostituite.

Grazie alla --parole opzione, le singole parole vengono confrontate e gli eventuali conflitti vengono segnalati solo
coprendo le parole colpite. Questo utilizza il formato di conflitto <<<|||===>>>.

Senza nessuna di queste opzioni, viene adottato un approccio ibrido. Le singole parole sono
confrontati e uniti, ma quando si riscontra un conflitto viene segnalata l'intera linea circostante
come in conflitto.

dimenare farà in modo che ogni cambiamento tra gli altri due testi si rifletta nel
risultato della fusione in qualche modo. Ci sono quattro modi diversi in cui può essere un cambiamento
riflesso.

1 Se un cambiamento converte A a B ed A si trova in un posto adatto nell'originale
file, viene sostituito con B. Ciò include la possibilità che B è vuoto, ma
non quello A è vuoto.

2 Se viene trovata una modifica che aggiunge semplicemente B e il testo immediatamente precedente e
a seguito dell'inserimento si trovano adiacenti al file originale in un apposito
posto, allora B viene inserito tra quei testi adiacenti.

3 Se viene trovata una modifica che cambia A a B e questo sembra (in base al contesto) a
allineare con B nell'originale, allora si presume che questo cambiamento sia già stato
applicato e la modifica viene ignorata. Quando ciò accade, un messaggio che riflette il
il numero di modifiche ignorate viene stampato da dimenare. Questa ottimizzazione può essere
soppresso con il -i bandiera.

4 Se viene rilevata una modifica che non si adatta a nessuna delle possibilità di cui sopra, allora a
il conflitto viene segnalato come descritto in precedenza.

DIFF
La funzione diff è prevista principalmente per consentire l'ispezione degli allineamenti che dimenare
calcolato tra i testi e che utilizza per eseguire un'unione.

L'output della funzione diff è simile all'output unificato di diff. Tuttavia mentre
diff non produce lunghi tratti di testo comune, dimenareLa modalità diff restituisce tutto.

Quando si calcola un allineamento basato su parole (impostazione predefinita), dimenare potrebbe essere necessario mostrare queste parole-
differenze basate. Questo viene fatto utilizzando un'estensione al formato unified-diff. Se una linea
inizia con una barra verticale, quindi può contenere sezioni circondate da speciali multi-
parentesi di caratteri. Le parentesi "<<<++" e "++>>>" circondano il testo aggiunto mentre "<<<--"
e "-->>>" circonda il testo rimosso.

dimenare possono essere dati i due testi da confrontare in uno dei tre modi.

Se viene fornito un solo file, viene trattato come una patch e i due rami di quello
patch sono confrontati. Ciò consente effettivamente di perfezionare una patch da una patch basata su linea
a una patch basata su parole.

Se vengono forniti due file, normalmente si presume che siano testi semplici da confrontare.

Se vengono forniti due file insieme all'opzione --patch, si presume che il secondo file
essere una patch e viene estratto il primo (con -1) o il secondo (con -2) ramo e
rispetto al testo trovato nel primo file.

Quest'ultima opzione fa sì che dimenare applicare un algoritmo "best-fit" per allineare i blocchi di patch
con il file prima di calcolare le differenze. Questo algoritmo viene utilizzato durante la fusione di a
patch con un file e il suo valore può essere visto confrontando la differenza prodotta in questo modo
con la differenza prodotta estraendo prima un ramo di una patch in un file, e
quindi calcolando la differenza di quel file con il file principale.

ESTRATTO
La funzione di estrazione di dimenare espone semplicemente la funzionalità interna per l'estrazione
un ramo di una patch o un file di unione.

Dovrebbe essere fornito esattamente un file e si presumerà che sia un file di unione a meno che
--toppa è dato, nel qual caso si presume una patch.

La scelta della filiale avviene fornendo una delle -1, -2, o -3 con evidenti significati.

NAVIGARE
La funzione Sfoglia di dimenare presenta il risultato di una fusione o (con -d) una differenza in a
GUI basata su testo che può essere esplorata utilizzando sequenze di tasti simili a vi(1) o emacs(1).

Il browser consente di visualizzare singolarmente ciascuno dei due o tre flussi con
colori usati per evidenziare diversi tipi di testo: verde per il testo aggiunto, rosso per quello cancellato
testo ecc. Può anche mostrare la patch da sola, il risultato completo dell'unione o il
unire e la patch fianco a fianco.

Il browser fornisce una serie di pagine di aiuto sensibili al contesto a cui è possibile accedere da
digitando '?'

La parte in alto a destra della GUI riporterà il tipo di testo sotto il cursore, che è anche
indicato dal colore del testo. Le opzioni sono Invariato, Modificato, Non abbinato,
Estraneo, Già Applicato e Conflitto. Se i significati di questi sono un po' chiari
le sperimentazioni dovrebbero aiutare.

È consentita una quantità limitata di modifiche mentre è in sfogliare modalità. Attualmente testo che è
indesiderati possono essere scartati con x. Questo convertirà un Conflitto o una Modifica in Invariato,
e Unmatched to Changed (che lo cambia effettivamente nella stringa vuota). Allo stesso modo
un testo può essere contrassegnato come desiderato con c. Questo convertirà un conflitto o estraneo in
Cambiato. Utilizzando di nuovo la stessa chiave si annullerà la modifica.

Infine, il maiuscolo X annullerà tutte le modifiche sulla riga corrente.

Per apportare modifiche più radicali puoi usare v che gestisce un editor, preferendo $VISIVO or
$ EDITOR se sono ambientati nell'ambiente.

Se apporti modifiche, Wiggle ti chiederà se desideri salvare le modifiche, anche se
--sostituire non è stato dato.

AVVERTIMENTO


Si deve sempre prestare attenzione quando si applica un cerotto rifiutato con dimenare. Quando patch
rifiuta una patch, lo fa per una buona ragione. Nonostante dimenare potrebbe essere in grado di trovare un
luogo credibile per applicare ogni modifica testuale, non vi è alcuna garanzia che il risultato sia
corretto in ogni senso semantico. Il risultato dovrebbe essere sempre controllato per assicurarsi che lo sia
correggere.

ESEMPI


dimenare --sostituire filetto file.rej
Questo è l'uso normale di dimenare e accetterà eventuali modifiche in file.rej che patch potuto
non applicare e unirli in filetto.

dimenare -dp1 filetto file.rej
Questo eseguirà un confronto a parole tra il filetto e la prima ramo del
differenza in file.rej e visualizzare le differenze. Questo ti permette di vedere dove una data patch
si applicherebbe.

dimenare --unisci --Aiuto
Ottieni assistenza sulla funzione di unione di dimenare.

dimenare --navigare --toppa aggiornamento.patch
Analizza il aggiornamento.patch file per le patch e presenta un elenco di file con patch che possono essere
sfogliato per esaminare in dettaglio ogni patch.

dimenare può essere integrato con git in modo che venga utilizzato come strumento di unione predefinito e diff
attrezzo. Ciò può essere ottenuto aggiungendo le seguenti righe a .gitconfig a casa dell'utente
directory.
[unire "agitare"]
name = "Wiggle unione flessibile"
driver = oscillare -o %A %A %O %B
ricorsivo = binario
[unire]
strumento = oscillare
[strumento di fusione "wiggle"]
cmd = oscilla -B -o $MERGED $LOCAL $BASE $REMOTE
[difftool "wiggle"]
cmd = oscilla -Bd $LOCAL $REMOTE
Questo farà git strumento di fusione ed git strumento diff uso dimenare.

Se si desidera git da usare sempre dimenare per le unioni (che potrebbero essere pericolose), puoi aggiungere
* unisci = oscilla
ad un appropriato gitattributi file come $HOME/.config/git/attributi.

CITAZIONE


Il nome di dimenare è stato ispirato dalla seguente citazione.

Il problema che trovo è che spesso voglio prendere
(file1+patch) -> file2,
quando non ho file1. Ma gli strumenti di unione vogliono prendere
(file1|file2) -> file3.
Non ho visto uno strumento grafico che ti aiuti a muovere una patch
in un file.
--Andrew Morton-2002

CARENZE


- dimenare non può leggere l'output esteso unified-diff che produce per --diff
--parole.

- dimenare non può leggere il formato di unione basato su parole che produce per --merge
--parole.

- dimenare non comprende unicode e quindi tratterà molto tutti i caratteri non ASCII
lo stesso che tratta la punteggiatura - tratterà ognuno come una parola separata. Il
browser non visualizzerà correttamente i caratteri non ASCII.

Usa Wiggle online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    Zabbix
    Zabbix
    Zabbix è un open di classe enterprise
    soluzione di monitoraggio distribuito alla fonte
    progettato per monitorare e tracciare
    prestazioni e disponibilità della rete
    server, dispositivo...
    Scarica Zabbix
  • 2
    KDiff3
    KDiff3
    Questo repository non è più mantenuto
    ed è conservata a scopo di archivio. Vedere
    https://invent.kde.org/sdk/kdiff3 for
    il codice più recente e
    https://download.kde.o...
    Scarica KDiff3
  • 3
    USB LoaderGX
    USB LoaderGX
    USBLoaderGX è una GUI per
    Caricatore USB di Waninkoko, basato su
    libwiigui. Consente la quotazione e
    lancio di giochi Wii, giochi Gamecube e
    homebrew su Wii e WiiU...
    Scarica USBLoaderGX
  • 4
    Firebird
    Firebird
    Firebird RDBMS offre funzionalità ANSI SQL
    e funziona su Linux, Windows e
    diverse piattaforme Unix. Caratteristiche
    concorrenza e prestazioni eccellenti
    & potenza...
    Scarica l'uccello di fuoco
  • 5
    KompoZer
    KompoZer
    KompoZer è un editor HTML wysiwyg che utilizza
    la base di codice di Mozilla Composer. Come
    Lo sviluppo di Nvu è stato interrotto
    nel 2005, KompoZer risolve molti bug e
    aggiunge una f...
    Scarica KompoZer
  • 6
    Downloader di manga gratuito
    Downloader di manga gratuito
    Il Free Manga Downloader (FMD) è un
    applicazione open source scritta
    Object-Pascal per la gestione e
    scaricare manga da vari siti web.
    Questo è uno specchio...
    Scarica il downloader manga gratuito
  • Di Più "

Comandi Linux

Ad