EnglezăFrancezăSpaniolă

Favicon OnWorks

git-merge-changelog - Online în cloud

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

Aceasta este comanda git-merge-changelog 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


git-merge-changelog - driverul git merge pentru fișierele GNU ChangeLog

DESCRIERE


Driverul de îmbinare implicit al lui „git” mereu produce conflicte la tragerea publicului
modificări într-un fișier ChangeLog modificat privat. Acest lucru se datorează faptului că fișierele ChangeLog
sunt întotdeauna modificate în partea de sus; driverul implicit de îmbinare nu are nicio idee cum să se ocupe
acest. În plus, conflictele sunt prezentate cu mai mulți markeri <<<< ==== >>>> decât
necesar; acest lucru se datorează faptului că driverul implicit de îmbinare face eforturi inutile să se uite la
linia individuală se modifică în interiorul unei intrări ChangeLog.

Acest program servește ca un driver de îmbinare „git” care evită aceste probleme.

1. Nu produce niciun conflict atunci când intrările ChangeLog au fost inserate în partea de sus ambele în
cea publică şi cea privată. Pune intrările adăugate privat mai sus
intrările adăugate public.

2. Respectă structura fișierelor ChangeLog: intrările nu sunt împărțite în linii, ci
ținute împreună.

3. De asemenea, se ocupă de cazul modificărilor mici ale intrărilor anterioare ale jurnalului de modificări sau ale
intrări eliminate ChangeLog: acestea sunt îmbinate așa cum s-ar aștepta.

4. Conflictele sunt prezentate în partea de sus a fișierului, mai degrabă decât acolo unde au apărut, deci
că utilizatorul le va vedea imediat. (Spre deosebire de codul sursă scris în unele
limbaj de programare, markeri de conflict care se află la câteva sute de linii de la
partea de sus nu va cauza nicio eroare de sintaxă și, prin urmare, ar putea rămâne
neobservat.)

Pentru merge utilizatori:
- Adăugați la .git/config din checkout (sau la $HOME/.gitconfig) liniile

[merge "merge-changelog"]
nume = driver de îmbinare ChangeLog în stil GNU
driver = /usr/bin/git-merge-changelog %O %A %B

- În fiecare director care conține un fișier ChangeLog, adăugați un fișier „.gitattributes” cu
aceasta linie:

ChangeLog merge=merge-changelog

(Consultați „man 5 gitattributes” pentru mai multe informații.)

Pentru bzr utilizatori:
- Instalați plug-in-ul bzr „extmerge” listat la
<http://doc.bazaar.canonical.com/plugins/en/index.html>
<http://wiki.bazaar.canonical.com/BzrPlugins>

- Adăugați la dvs. $HOME/.bazaar/bazaar.conf linia

external_merge = git-merge-changelog %b %T %o

- Apoi, pentru a îmbina un conflict într-un fișier ChangeLog, utilizați

$ bzr extmerge ChangeLog

Pentru hg utilizatori:
- Adăugați liniile la $HOME/.hgrc

[modele de îmbinare]
ChangeLog = git-merge-changelog

[instrumente de îmbinare]
git-merge-changelog.executable = /usr/bin/git-merge-changelog
git-merge-changelog.args = $bază $local $altul

Vedeahttp://www.selenic.com/mercurial/hgrc.5.html> secțiunea instrumente de îmbinare pentru trimitere.

Utilizare as an alternativă la „diff3”:
git-merge-changelog îndeplinește același rol ca „diff3 -m”, doar cu argumente reordonate:

$ git-merge-changelog %O %A %B

este comparabil cu

$ diff3 -m %A %O %B

apel convenţie:
Un driver de îmbinare este apelat cu trei argumente de nume de fișier:

1. %O = Strămoșul comun al lui %A și %B.

2. %A = Conținutul fișierului din „ramura curentă”.

3. %B = Conținutul fișierului din „cealaltă ramură”; acesta este conținutul care se îmbină
inch

În cazul unui „git stash apply” sau al unei trageri în amonte (de exemplu, de la un întreținător de subsistem la
un întreținător central) sau a unei trageri în aval cu --rebase:

2. %A = Cel mai nou conținut extras al fișierului; modificate de alți comitetori.

3. %B = Cea mai nouă copie a fișierului de către utilizator; modificat de utilizator.

În cazul unei trageri în aval (de exemplu, de la un depozit central către utilizator) sau a unui
trage în amonte cu --rebase:

2. %A = Cea mai nouă copie a fișierului de către utilizator; modificat de utilizator.

3. %B = Cel mai nou conținut extras al fișierului; modificate de alți comitetori.

Ar trebui să scrie rezultatul fuzionat în fișierul %A. De asemenea, poate ecou unele remarci la stdout.
Ar trebui să iasă cu codul de returnare 0 dacă îmbinarea ar putea fi rezolvată în mod curat sau cu o valoare diferită de zero
cod de returnare dacă au existat conflicte.

Cum it lucrări:
Structura unui fișier ChangeLog: Constă din intrări ChangeLog. O intrare ChangeLog
începe la o linie care urmează o linie goală și care începe cu un caracter fără spații albe,
sau la începutul unui fișier. Driverul de îmbinare funcționează după cum urmează: citește cele trei
fișierele în memorie și le disecă în intrări ChangeLog. Apoi găsește diferențele
între %O și %B. Ele sunt clasificate ca:

- eliminări (unele înregistrări consecutive au fost eliminate),

- modificări (unele intrări consecutive eliminate, unele intrări consecutive adăugate),

- adaosuri (unele intrări consecutive adăugate).

Driverul încearcă apoi să aplice modificările la %A. În acest sens, mai întâi calculează a
corespondența dintre intrările din %O și intrările din %A, folosind șir neclar
potrivire pentru a identifica în continuare intrările modificate.

- Îndepărtările se aplică una câte una. Dacă intrarea este prezentă în %A, în orice poziție, este
îndepărtat. Dacă nu, eliminarea este marcată ca un conflict.

- Adăugările din partea de sus a %B sunt aplicate în partea de sus a lui %A.

- Se aplică adăugări între intrarea x și intrarea y (y poate fi sfârșitul fișierului) în %B
între intrarea x și intrarea y în %A (dacă ele încă există și sunt încă consecutive în
%A), în caz contrar, completările sunt marcate ca conflict.

- Modificările sunt clasificate în „modificări simple”:
entry1 ... entryn sunt mapate la
added_entry ... added_entry modified_entry1 ... modified_entryn, unde
corespondența dintre entry_i și modified_entry_i este încă clară; și „schimbări mari”:
astea sunt toate restul. Modificările simple din partea de sus a %B sunt aplicate prin introducerea
intrări adăugate în partea de sus a %A. Modificările în modificări simple se aplică una câte una;
poate duce la conflicte cu o singură intrare. Schimbări mari se aplică în bloc, eventual
conducând la conflicte care acoperă mai multe intrări.

- Conflictele apar în partea de sus a fișierului și provoacă o stare de ieșire de 1.

Utilizați git-merge-changelog online folosind serviciile onworks.net


Servere și stații de lucru gratuite

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

Comenzi Linux

Ad