EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

wiggle - Online în cloud

Rulați wiggle în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Acesta este modul de comandă care poate fi rulat în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


wiggle - aplicați patch-uri respinse și efectuați diferențe în funcție de cuvinte

REZUMAT


Wiggle [funcţie] [Opțiuni] fişier [fișiere]

DESCRIERE


Funcția principală a Wiggle este de a aplica un patch la un fișier într-un mod similar cu
plasture(1) program.

Diferența distinctivă a Wiggle este că va încerca să aplice un plasture chiar dacă
„înainte” o parte a patch-ului nu se potrivește perfect cu fișierul țintă. Acest lucru se realizează prin
împărțirea fișierului și plasarea în cuvinte și găsirea celei mai bune alinieri a cuvintelor din fișier
cu cuvinte în plasture. Odată ce această aliniere a fost găsită, orice diferențe (din punct de vedere al cuvintelor)
în patch sunt aplicate fișierului cât mai bine posibil.

De asemenea, Wiggle va detecta (în unele cazuri) modificările care au fost deja aplicate și o va face
ignoră-i.

Wiggle asigură că fiecare modificare a patch-ului este aplicată într-un fel fișierului țintă. În cazul în care o
o anumită modificare nu poate fi făcută în fișier, fișierul este adnotat pentru a arăta unde
modificarea ar trebui făcută într-un mod similar cu îmbina(1) program cu -A opțiune. Fiecare
adnotarea conține 3 componente: o porțiune din fișierul original în care ar trebui să fie modificată
să fie aplicat, o porțiune a patch-ului care nu a putut fi potrivită exact în fișier și
text care ar trebui să înlocuiască acea parte a patch-ului. Acestea sunt separate prin linii
care conțin exact 7 caractere identice, fie „<”, „|”, „=”, fie „>”, eventual
urmată de un cuvânt descriptiv. Asa de
<<<<<< găsit
O parte din fișierul original
||||||| așteptat
text de înlocuit
=======
text pentru a-l înlocui
>>>>>>> înlocuire
indică faptul că „text de înlocuit” ar trebui înlocuit cu „text de înlocuit cu” undeva
în porţiunea din dosarul original. in orice caz Wiggle nu a reușit să găsească un loc de făcut
aceasta schimbare.

Wiggle poate produce, de asemenea, rapoarte de conflict care să arate doar cuvintele care sunt implicate
decât să arate linii întregi. În acest caz, rezultatul arată astfel:
<<<---original|||vechi===nou--->>>

O posibilă utilizare a Wiggle este a alerga plasture pentru a aplica niște plasture și pentru a colecta o listă de
respinge prin monitorizarea mesajelor de eroare de la patch. Apoi, pentru fiecare fișier pentru care a
respingerea a fost găsită, alergați
wiggle --inlocuire originalfile originalfile.rej

În cele din urmă, fiecare fișier trebuie examinat pentru a rezolva orice conflict nerezolvat și pentru a fi sigur
plasturele aplicat este corect din punct de vedere semantic.

Ca alternativă, fișierul de corecție original poate fi alimentat la răsfoiți modul ca
wiggle -B < fișier de corecție

Acest lucru va permite ca modificările și conflictele să fie inspectate și, într-o oarecare măsură, modificate;
iar apoi rezultatele pot fi salvate.

OPŢIUNI
Următoarele opțiuni sunt înțelese de Wiggle. Unele dintre acestea sunt explicate în mai multe
detalii în secțiunile următoare despre FUNCȚIUNE, DIFERINȚE, EXTRAGERE și RAUȚIȚI.

-m, --combina
Selectați funcția „imbinare”. Aceasta este funcția implicită.

-d, --dif
Selectați funcția „difer”. Aceasta afișează diferențele dintre fișiere. Acesta poate
fi dat după --naviga (vezi mai jos) caz în care un patch sau o diferență de două fișiere poate
să fie vizualizate fără originale.

-x, --extrage
Selectați funcția „extragere”. Aceasta extrage o ramură a unui fișier patch sau îmbinare.

-B, --naviga
Selectați funcția „browse”. Aceasta este similară cu „merge” (sau „diff”) numai cu a
prezentare diferită. În loc ca rezultatul să fie pur și simplu trimis la standard
ieșire, este prezentat folosind o interfață grafică bazată pe ncurses, astfel încât fiecare bucată a patch-ului
pot fi examinate pentru a înțelege ce conflicte au fost implicate și ce trebuie să fie
ignorat în ordinea în care plasturele trebuie să fie pus în poziție.

-w, --cuvinte
Solicitați ca toate operațiunile și afișarea să fie bazate pe cuvinte. Aceasta este valoarea implicită pentru
funcția „dif”.

-l, --linii
Solicitați ca toate operațiunile și afișarea să fie bazate pe linie.

-b, --ignora-spații
Desublinierea spațiului alb (spațiu, tabulație și linie nouă) este determinarea diferențelor și
schimbări.

În mod normal, spațiul alb este tratat ca un cuvânt care poate fi potrivit sau modificat de a
plasture. Când acest steag este în vigoare, spațiul alb servește doar ca separator între
alte cuvinte și nu se potrivește în sine. Efectul acestui lucru este că schimbările în
cantitatea de spațiu alb nu este tratată ca fiind semnificativă.

Pentru a fi precis, orice spațiu alb este combinat cu cuvântul precedent sau, în caz
de deschidere a spațiului pe o linie, cu următorul cuvânt. Cu toate acestea, nu este implicat în
orice comparație a cuvântului respectiv. Dacă un patch șterge un cuvânt, spațiul alb atașat
este sters de asemenea. Dacă un patch adaugă un cuvânt, spațiul alb atașat este adăugat ca
bine.

O linie goală sau una care conține doar spații libere va fi tratată ca un singur cuvânt
care se va potrivi cu orice altă linie goală, indiferent de câte spații are.

-b nu are efect în --linia Mod.

-p, --plasture
Tratați ultimul fișier numit ca un patch în loc de un fișier (cu --diff) sau o îmbinare
(--extrage). În îmbina or răsfoiți mod, -p necesită să existe exact un fișier care
este un patch și care poate conține patch-uri pentru mai multe fișiere. Patch-urile sunt îmbinate
în fiecare fișier. Când este folosit în îmbina modul, această utilizare necesită --a inlocui opțiune
deoarece scrierea multor fișiere îmbinate în standard-out este nepractică.

Când procesați un patch cu mai multe fișiere, -p poate fi urmat de un argument numeric
indicând câte componente de nume de fișier ar trebui eliminate din fișierele numite în
fișier patch. Dacă nu este dat niciun argument numeric, Wiggle va deduce un adecvat
număr pe baza ce fișiere sunt prezente în sistemul de fișiere.

-r, --a inlocui
În mod normal, ieșirea combinată este scrisă în ieșirea standard. Cu --a inlocui,
fișierul original este înlocuit cu rezultatul de îmbinare. În răsfoiți modul, aceasta indică
Wiggle pentru a salva întotdeauna îmbinarea rezultată la ieșire.

-o, --ieșire=
În loc să scrieți rezultatul în stdout sau să înlocuiți fișierul original, aceasta
solicită ca rezultatul să fie scris în fișierul dat. Acest lucru are doar sens
cu --combina or --naviga când i se oferă o singură îmbinare pentru a naviga.

Această opțiune anulează -r.

-R, --verso
Când este utilizat cu dif funcția, schimbați fișierele înainte de a calcula
diferențe. Când este utilizat cu îmbina or răsfoiți funcții, Wiggle incearca sa
anulați modificările în loc să le aplicați.

-i, --nu-ignora
În mod normal, wiggle va ignora modificările din patch care par să fi fost deja
aplicat în original. Cu acest semnalizare, acele modificări sunt raportate ca conflicte
mai degrabă decât să fie ignorată.

-W, --show-wiggles
Când este utilizat cu --combina, conflictele care pot fi schimbate la locul lor sunt raportate ca
intră în conflict cu o strofă suplimentară care arată care ar fi rezultatul dacă acest steag
nu fusese folosit. Strofa suplimentară este introdusă cu o linie care conține 7
ampersand (&) caractere astfel:
<<<<<< găsit
O parte din fișierul original
||||||| așteptat
text de înlocuit
=======
text pentru a-l înlocui
&&&&&&& rezoluție
Text care ar rezulta dintr-o mișcare reușită
>>>>>>> înlocuire

--raportul-se mişcă
Dacă o îmbinare are succes în aplicarea tuturor modificărilor, în mod normal se va ieși cu a
starea de succes (0), raportarea eșecului (1) numai dacă a avut loc și a fost un conflict
adnotat. Cu --raportul-se mişcă Wiggle va raporta, de asemenea, eșecul dacă se schimbă
a trebuit să fie băgată înăuntru. Acest lucru poate fi util când Wiggle este folosit pentru îmbinări automate
ca și în cazul merge. Dacă se întâmplă vreo mișcare, merge va raporta eșecul și rezultatele
pot fi examinate pentru a confirma că sunt acceptabile.

-h, --Ajutor
Imprimați un mesaj de ajutor simplu. Dacă este dat după unul dintre selectorii de funcție
(--combina, --dif, --extrage, --naviga) este afișat ajutorul specific funcției respective.

-V, --versiune
Afișează numărul versiunii de Wiggle.

-v, --verbos
Activați modul pronunțat. În prezent, acest lucru nu face nicio diferență.

-q, --Liniște
Activați modul silențios. Acest lucru suprimă mesajul din funcția de îmbinare atunci când există
sunt conflicte de nerezolvat.

CUVINTE
Wiggle poate împărți un text în rânduri sau cuvinte atunci când își îndeplinește sarcinile. O linie este pur și simplu
un șir de caractere terminat cu o nouă linie. Un cuvânt este fie un contiguu maxim
șir de cifre alfanumerice (inclusiv liniuță de subliniere), un șir de spațiu contiguu maxim sau
caractere tabulatoare sau orice alt caracter unic.

MERGE
Funcția de îmbinare modifică un anumit text prin găsirea tuturor modificărilor între alte două texte
și impunerea acestor modificări asupra textului dat.

În mod normal Wiggle se concentrează asupra cuvintelor care s-au schimbat astfel încât să maximizeze posibilitatea de
găsirea unei potriviri bune în textul dat pentru contextul unei schimbări date. Oricum se poate
luați în considerare doar linii întregi.

Wiggle extrage cele trei texte de care are nevoie din fișierele listate pe linia de comandă.
Pot fi listate fie 1, 2 sau 3 fișiere și oricare dintre ele poate fi o cratimă unică care semnifică
intrare standard.

Dacă este dat un fișier și -p opțiunea nu este prezentă, fișierul este tratat ca a îmbina
fișier, adică rezultatul „merge -A” sau „wiggle”. Un astfel de fișier conține implicit trei
fluxuri și acestea sunt extrase și comparate.

Dacă sunt date două fișiere, atunci primul conține pur și simplu textul principal, iar al doilea este
tratat ca un fișier de corecție (ieșirea „diff -u” sau „diff -c”, sau un fișier „.rej” din
plasture) iar celelalte două texte sunt extrase din aceasta.

Dacă un fișier este dat împreună cu -p opțiunea, fișierul este tratat ca un fișier de corecție
care conțin numele fișierelor pe care le corectează. În acest caz, operațiuni de îmbinare multiple
se poate întâmpla și fiecare preia câte un flux dintr-un fișier numit în patch și celelalte două
din plasturele în sine. The --a inlocui este necesară opțiunea și rezultatele sunt scrise înapoi
la fișierele țintă.

În cele din urmă, dacă sunt listate trei fișiere, se consideră că acestea conțin textul dat și cele două
alte texte, în ordine.

În mod normal, rezultatul îmbinării este scris în standard-output. Dacă -r este dat steagul,
ieșirea este scrisă într-un fișier care înlocuiește fișierul original dat. În acest caz,
fișierul original este redenumit pentru a avea un .porig sufix (pentru „original patched” care are sens
dacă utilizați prima dată plasture pentru a aplica un plasture și apoi utilizați Wiggle pentru a mișca refuzurile în).

În plus, dacă -o opțiunea este dată cu un nume de fișier, rezultatul va fi scris în acesta
fişier. În acest caz, nu se creează o copie de rezervă.

Dacă nu apar erori (cum ar fi erori de acces la fișiere) Wiggle va ieși cu starea 0 dacă toate
modificările au fost îmbinate cu succes și cu o stare de ieșire de 1 și un mesaj scurt, dacă există
modificările nu au putut fi îmbinate complet și au fost în schimb inserate ca adnotări. Totuşi dacă
oricare --raportul-se mişcă or --show-wiggles au fost date opțiuni, Wiggle va exista si cu
starea 1 dacă orice modificare a trebuit să fie modificată chiar dacă aceasta a avut succes.

Funcția de îmbinare poate funcționa în trei moduri diferite în ceea ce privește liniile sau cuvintele.

Cu --linii opțiunea, liniile întregi sunt comparate și orice conflicte sunt raportate ca întreg
linii care trebuie înlocuite.

Cu --cuvinte opțiunea, cuvintele individuale sunt comparate și orice conflicte sunt raportate doar
acoperind cuvintele afectate. Acesta folosește formatul de conflict <<<|||===>>>.

Fără oricare dintre aceste opțiuni, se adoptă o abordare hibridă. Cuvintele individuale sunt
comparate și îmbinate, dar când se găsește un conflict este raportată întreaga linie înconjurătoare
ca fiind în conflict.

Wiggle se va asigura că fiecare schimbare între celelalte două texte se reflectă în
rezultatul fuziunii cumva. Există patru moduri diferite în care poate fi o schimbare
reflectat.

1 Dacă o modificare se transformă A la B și A se găsește într-un loc potrivit în original
fișier, este înlocuit cu B. Aceasta include posibilitatea ca B este gol, dar
nu aia A este gol.

2 Dacă se găsește o modificare care pur și simplu adaugă B iar textul imediat precedent şi
în urma inserării se găsesc alăturate în fișierul original într-o formă adecvată
loc, atunci B este inserat între acele texte adiacente.

3 Dacă se găsește o modificare care se modifică A la B iar aceasta apare (pe baza contextului) să
alinia cu B în original, atunci se presupune că această schimbare a fost deja
aplicat, iar modificarea este ignorată. Când se întâmplă acest lucru, un mesaj care reflectă
numărul de modificări ignorate este tipărit de Wiggle. Această optimizare poate fi
suprimat cu -i steag.

4 Dacă se constată o modificare care nu se potrivește cu niciuna dintre posibilitățile de mai sus, atunci a
conflictul este raportat așa cum este descris mai devreme.

DIFER
Funcția diff este furnizată în primul rând pentru a permite inspecția aliniamentelor care Wiggle
calculat între texte și pe care îl folosește pentru a efectua o îmbinare.

Ieșirea funcției diff este similară cu ieșirea unificată a diff. Cu toate acestea în timp ce
diff nu scoate întinderi lungi de text comun, WiggleModul diff al lui scoate totul.

Când se calculează o aliniere bazată pe cuvinte (implicit), Wiggle poate fi nevoie să arăți aceste cuvinte-
diferențe bazate. Acest lucru se face folosind o extensie la formatul unified-diff. Dacă o linie
începe cu o bară verticală, apoi poate conține secțiuni înconjurate de
paranteze de caractere. Parantezele „<<<++” și „++>>>” înconjoară textul adăugat în timp ce „<<<--”
și „-->>>” înconjoară textul eliminat.

Wiggle pot fi date cele două texte pentru a compara într-unul din trei moduri.

Dacă este dat un singur fișier, atunci acesta este tratat ca un patch și cele două ramuri ale acestuia
plasturele sunt comparate. Acest lucru permite eficient ca un patch să fie rafinat dintr-un patch bazat pe linii
la un patch bazat pe cuvinte.

Dacă sunt date două fișiere, atunci se presupune că sunt în mod normal texte simple de comparat.

Dacă sunt date două fișiere împreună cu opțiunea --patch, atunci se presupune că al doilea fișier este
fie un plasture și se extrage fie prima (cu -1) fie a doua (cu -2) ramură și
în comparație cu textul găsit în primul fișier.

Această ultimă opțiune provoacă Wiggle pentru a aplica un algoritm „cel mai potrivit” pentru alinierea bucăților de patch-uri
cu fișierul înainte de a calcula diferențele. Acest algoritm este utilizat la îmbinarea a
patch cu un fișier, iar valoarea acestuia poate fi văzută comparând diferența produsă în acest fel
cu diferența produsă prin extragerea mai întâi a unei ramuri a unui patch într-un fișier și
apoi calculând diferența acelui fișier cu fișierul principal.

EXTRAGE
Funcția de extragere a Wiggle pur și simplu expune funcționalitatea internă pentru extragere
o ramură a unui patch sau a unui fișier de îmbinare.

Ar trebui să fie dat un singur fișier și se va presupune că este un fișier de îmbinare, cu excepția cazului
--plasture este dat, caz în care se presupune un patch.

Alegerea ramurii se face prin furnizarea uneia dintre -1, -2, Sau -3 cu sensuri evidente.

NAVIGA
Funcția de navigare a Wiggle prezintă rezultatul unei fuziuni sau (cu -d) o diferență în a
GUI bazat pe text care poate fi navigat folosind taste similare cu vi(1) sau emacs(1).

Browserul permite ca fiecare dintre cele două sau trei fluxuri să fie vizualizate individual
culori folosite pentru a evidenția diferite tipuri de text - verde pentru text adăugat, roșu pentru șters
text etc. De asemenea, poate afișa patch-ul în sine, rezultatul complet al îmbinării sau
îmbinați și plasturele unul lângă altul.

Browserul oferă o serie de pagini de ajutor sensibile la context, care pot fi accesate de
tastare '?'

Colțul din dreapta sus al interfeței grafice va raporta tipul de text sub cursor, care este și
indicat de culoarea textului. Opțiunile sunt Neschimbat, Modificat, Nepotrivit,
Strain, deja aplicat și conflict. Dacă semnificațiile acestora sunt puțin clare
experimentele ar trebui să ajute.

Este permisă o cantitate limitată de editare în timp ce sunteți în răsfoiți modul. Momentan text care este
nedorite pot fi aruncate cu x. Aceasta va converti un conflict sau o modificare în neschimbat,
și un Unmatched to Changed (care îl schimbă efectiv în șirul gol). În mod similar
un text poate fi marcat ca dorit cu c. Acest lucru va converti un conflict sau străin în
Schimbat. Folosind din nou aceeași cheie va anula modificarea.

În sfârșit, majuscule X va anula toate modificările de pe linia curentă.

Pentru a face modificări mai mari, puteți utiliza v care rulează un editor, preferând $VISUAL or
$ EDITOR dacă sunt fixate în mediu.

Dacă faceți modificări, atunci wiggle vă va întreba dacă doriți să salvați modificările, chiar dacă
--a inlocui nu a fost dat.

AVERTISMENT


Întotdeauna trebuie avută prudență atunci când aplicați un plasture respins cu Wiggle. Când plasture
respinge un plasture, o face dintr-un motiv întemeiat. Chiar dacă Wiggle poate fi capabil să găsească o
loc credibil pentru a aplica fiecare modificare textuală, nu există nicio garanție că rezultatul este
corect în orice sens semantic. Rezultatul trebuie întotdeauna verificat pentru a vă asigura că este
corecta.

EXEMPLE


Wiggle --a inlocui fişier dosar.rej
Aceasta este utilizarea normală a Wiggle și va prelua orice modificări în dosar.rej acea plasture ar putea
nu se aplică și îmbinați-le în fişier.

Wiggle -dp1 fişier dosar.rej
Aceasta va efectua o comparație cu cuvinte între fişier si înainte ramură a
dif in dosar.rej și afișați diferențele. Acest lucru vă permite să vedeți unde este un anumit patch
s-ar aplica.

Wiggle --combina --Ajutor
Obțineți ajutor despre funcția de îmbinare a Wiggle.

Wiggle --naviga --plasture update.patch
Analizați update.patch fișier pentru patch-uri și prezentați o listă de fișiere corelate care pot fi
răsfoit pentru a examina fiecare patch în detaliu.

Wiggle poate fi integrat cu merge astfel încât să fie folosit ca instrument implicit de îmbinare și dif
instrument. Acest lucru se poate realiza prin adăugarea următoarelor linii la .gitconfig în casa utilizatorului
director.
[combinați „mișcare”]
nume = „Wiggle fuziune flexibilă”
driver = wiggle -o %A %A %O %B
recursive = binar
[combina]
instrument = mișcare
[mergetool „mișcare”]
cmd = wiggle -B -o $MERGED $LOCAL $BASE $REMOTE
[difftool „mișcăre”]
cmd = wiggle -Bd $LOCAL $REMOTE
Acest lucru va face merge mergetool și merge difftool utilizare Wiggle.

Dacă doriți merge pentru a folosi mereu Wiggle pentru îmbinări (care pot fi periculoase), puteți adăuga
* îmbinare = mișcare
la un adecvat gitattributes fișier precum $HOME/.config/git/attributes.

CITAT


Numele de Wiggle a fost inspirat de următorul citat.

Problema pe care o găsesc este că deseori vreau să iau
(fișier1+patch) -> fișier2,
cand nu am fisier1. Dar instrumentele de îmbinare vor să ia
(fișier1|fișier2) -> fișier3.
Nu am văzut un instrument grafic care să vă ajute să schimbați un patch
într-un fișier.
-- Andrew Morton - 2002

DIFICIENTE


- Wiggle nu poate citi ieșirea extinsă unified-diff pe care o produce pentru --diff
--cuvinte.

- Wiggle nu poate citi formatul de îmbinare bazat pe cuvinte pe care îl produce pentru --merge
--cuvinte.

- Wiggle nu înțelege unicode și așadar va trata mult toate caracterele non-ASCII
la fel ca tratează punctuația - va trata pe fiecare ca pe un cuvânt separat. The
browserul nu va afișa corect caracterele non-ASCII.

Utilizați wiggle online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Zabbix
    Zabbix
    Zabbix este o companie deschisă de clasă enterprise
    soluție de monitorizare distribuită la sursă
    conceput pentru a monitoriza și urmări
    performanța și disponibilitatea rețelei
    servere, dispozitive...
    Descărcați Zabbix
  • 2
    KDiff3
    KDiff3
    Acest depozit nu mai este întreținut
    și se păstrează în scop de arhivă. Vedea
    https://invent.kde.org/sdk/kdiff3 for
    cel mai nou cod și
    https://download.kde.o...
    Descărcați KDiff3
  • 3
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX este o interfață grafică pentru
    Încărcătorul USB al lui Waninkoko, bazat pe
    libwiigui. Permite listarea și
    lansarea de jocuri Wii, jocuri Gamecube și
    homebrew pe Wii și WiiU...
    Descărcați USBLoaderGX
  • 4
    Firebird
    Firebird
    Firebird RDBMS oferă caracteristici ANSI SQL
    și rulează pe Linux, Windows și
    mai multe platforme Unix. Caracteristici
    concurență și performanță excelente
    & putere...
    Descărcați Firebird
  • 5
    KompoZer
    KompoZer
    KompoZer este un editor HTML wysiwyg care utilizează
    baza de cod Mozilla Composer. La fel de
    Dezvoltarea Nvu a fost oprită
    în 2005, KompoZer remediază multe erori și
    adaugă un f...
    Descărcați KompoZer
  • 6
    Descărcător gratuit de manga
    Descărcător gratuit de manga
    Free Manga Downloader (FMD) este un
    aplicație open source scrisă în
    Object-Pascal pentru gestionarea și
    descărcarea manga de pe diverse site-uri web.
    Aceasta este o oglindă...
    Descărcați gratuit Manga Downloader
  • Mai mult »

Comenzi Linux

Ad