git-merge-changelog - Online w chmurze

To jest polecenie git-merge-changelog, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


git-merge-changelog - sterownik git merge dla plików GNU ChangeLog

OPIS


Domyślny sterownik scalania „git” zawsze powoduje konflikty podczas przyciągania publiczności
modyfikacje w prywatnie zmodyfikowanym pliku ChangeLog. Dzieje się tak, ponieważ pliki ChangeLog
są zawsze modyfikowane na górze; domyślny sterownik scalania nie ma pojęcia, jak sobie z tym poradzić
Ten. Co więcej, konflikty są przedstawiane z większą liczbą <<<< ==== >>>> znaczników niż
niezbędny; dzieje się tak, ponieważ domyślny sterownik scalania bezcelowo sprawdza plik
zmiany poszczególnych linii we wpisie ChangeLog.

Ten program służy jako sterownik scalania „git”, który pozwala uniknąć tych problemów.

1. Nie powoduje to konfliktu, gdy wpisy ChangeLog zostały wstawione na górze zarówno w
publiczna i prywatna modyfikacja. Umieszcza prywatnie dodane wpisy powyżej
publicznie dodane wpisy.

2. Respektuje strukturę plików ChangeLog: wpisy nie są dzielone na linie, ale
trzymane razem.

3. Obsługuje również przypadki małych modyfikacji poprzednich wpisów ChangeLog lub
usunięto wpisy ChangeLog: są one scalone, jak można się tego spodziewać.

4. Konflikty prezentowane są na górze pliku, a nie tam, gdzie wystąpiły, tzw
aby użytkownik zobaczył je natychmiast. (W przeciwieństwie do kodu źródłowego napisanego w niektórych
język programowania, znaczniki konfliktów, które znajdują się kilkaset linii od
top nie spowoduje żadnego błędu składniowego i dlatego prawdopodobnie pozostanie
niezauważone.)

Dla litu szacuje się odrzutowiec użytkownicy:
- Dodaj do .git/config kasy (lub do $HOME/.gitconfig) linie

[scal „dziennik zmian scalania”]
name = Sterownik scalający w stylu GNU ChangeLog
sterownik = /usr/bin/git-merge-changelog %O %A %B

- W każdym katalogu zawierającym plik ChangeLog dodaj plik „.gitattributes” z
ta linia:

ChangeLog merge=merge-dziennik zmian

(Aby uzyskać więcej informacji, zobacz „man 5 gitattributes”).

Dla litu szacuje się bzr użytkownicy:
- Zainstaluj wtyczkę bzr „extmerge” wymienioną na stronie
<http://doc.bazaar.canonical.com/plugins/en/index.html>
<http://wiki.bazaar.canonical.com/BzrPlugins>

- Dodaj linię do $HOME/.bazaar/bazaar.conf

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

- Następnie, aby scalić konflikt w pliku ChangeLog, użyj

$ bzr extmerge Dziennik zmian

Dla litu szacuje się hg użytkownicy:
- Dodaj linie do $HOME/.hgrc

[wzory scalania]
Dziennik zmian = git-merge-dziennik zmian

[narzędzia scalania]
git-merge-changelog.executable = /usr/bin/git-merge-changelog
git-merge-changelog.args = $podstawowy $lokalny $inny

Widziećhttp://www.selenic.com/mercurial/hgrc.5.html> sekcja narzędzia do łączenia na przykład.

Zastosowanie as an alternatywny do „różnica3”:
git-merge-changelog pełni tę samą rolę co „diff3 -m”, tylko ze zmienioną kolejnością argumentów:

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

jest porównywalny z

$ diff3 -m %A %O %B

powołanie Konwencja:
Wywoływany jest sterownik scalania z trzema argumentami w postaci nazwy pliku:

1. %O = wspólny przodek %A i %B.

2. %A = Zawartość pliku z „bieżącej gałęzi”.

3. %B = Zawartość pliku z „innej gałęzi”; to jest scalana zawartość
widok

W przypadku „git stash Apply” lub pobrania w górę (np. od opiekuna podsystemu do
centralny opiekun) lub ściąganie w dół za pomocą --rebase:

2. %A = Najnowsza pobrana zawartość pliku; modyfikowane przez innych autorów.

3. %B = najnowsza kopia pliku użytkownika; modyfikowane przez użytkownika.

W przypadku pobierania danych w dół (np. z centralnego repozytorium do użytkownika) lub
ściąganie w górę za pomocą --rebase:

2. %A = najnowsza kopia pliku użytkownika; modyfikowane przez użytkownika.

3. %B = Najnowsza pobrana zawartość pliku; modyfikowane przez innych autorów.

Powinien zapisać swoje połączone dane wyjściowe w pliku %A. Może również powtórzyć niektóre uwagi na standardowe wyjście.
Powinien zakończyć się z kodem powrotu 0, jeśli połączenie można rozwiązać w sposób czysty lub z kodem niezerowym
kod powrotu, jeśli wystąpiły konflikty.

W jaki sposób it prace:
Struktura pliku ChangeLog: Składa się z wpisów ChangeLog. Wpis dziennika zmian
zaczyna się od linii następującej po pustej linii i zaczynającej się od znaku innego niż spacja,
lub na początku pliku. Sterownik scalania działa w następujący sposób: Odczytuje trzy
pliki do pamięci i dzieli je na wpisy ChangeLog. Następnie znajduje różnice
pomiędzy %O i %B. Są one klasyfikowane jako:

- usunięcia (usunięto część kolejnych wpisów),

- zmiany (usunięto część kolejnych wpisów, dodano część kolejnych wpisów),

- dodatki (dodano kilka kolejnych wpisów).

Następnie sterownik próbuje zastosować zmiany w %A. W tym celu najpierw oblicza a
zgodność pomiędzy wpisami w %O i wpisami w %A, przy użyciu ciągu rozmytego
dopasowanie, aby nadal identyfikować zmienione wpisy.

- Usunięcia są stosowane jeden po drugim. Jeśli wpis występuje w %A, na dowolnej pozycji, tak jest
REMOVED. Jeśli nie, usunięcie zostanie oznaczone jako konflikt.

- Dodatki na górze %B są stosowane na górze %A.

- Dodano dodatki pomiędzy wpisem x i wpisem y (y może oznaczać koniec pliku) w %B
pomiędzy wpisem x i wpisem y w %A (jeśli nadal istnieją i nadal następują po sobie w
%A), w przeciwnym razie dodatki zostaną oznaczone jako konflikt.

- Zmiany są podzielone na „proste zmiany”:
wpis1 ... wpis jest mapowany
dodany_wpis ... dodany_wpis zmodyfikowany_wpis1 ... zmodyfikowany_wpis, gdzie
zgodność pomiędzy wpisem_i i zmodyfikowanym_wpisem_i jest nadal jasna; i „duże zmiany”:
to cała reszta. Proste zmiany na górze %B są stosowane poprzez umieszczenie
dodano wpisy na górze %A. Zmiany w prostych zmianach są stosowane jedna po drugiej;
co może prowadzić do konfliktów o jednym wejściu. Możliwe, że duże zmiany wprowadza się en bloc
co prowadzi do konfliktów obejmujących wiele wpisów.

- Konflikty są wyświetlane na górze pliku i powodują kod wyjścia równy 1.

Użyj git-merge-changelog online, korzystając z usług onworks.net



Najnowsze programy online dla systemów Linux i Windows