Wiggle - Online w chmurze

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

PROGRAM:

IMIĘ


wiggle - zastosuj odrzucone łatki i wykonaj różnice w słowach

STRESZCZENIE


Poruszaj [funkcjonować] [opcje] filet [pliki]

OPIS


Główną funkcją Poruszaj jest zastosowanie łaty do pliku w sposób podobny do
łata(1) programu.

Charakterystyczna różnica Poruszaj jest to, że będzie próbował zastosować łatkę, nawet jeśli
Część „przed” łaty nie pasuje idealnie do pliku docelowego. Osiąga się to poprzez
dzielenie pliku i łatanie na słowa oraz znajdowanie najlepszego wyrównania słów w pliku
ze słowami w łatce. Po znalezieniu tego wyrównania wszelkie różnice (w ujęciu słownym)
w łatce są stosowane do pliku najlepiej jak to możliwe.

Tak więc, Poruszaj wykryje (w niektórych przypadkach) zmiany, które zostały już zastosowane, i
Ignoruj ​​ich.

Poruszaj zapewnia, że ​​każda zmiana w łacie zostanie w jakiś sposób zastosowana do pliku docelowego. Jeśli
konkretna zmiana nie może być dokonana w pliku, plik jest opatrzony adnotacjami, aby pokazać, gdzie
zmiana powinna być dokonana w podobny sposób jak łączyć(1) program z -A opcja. Każdy
adnotacja zawiera 3 komponenty: część oryginalnego pliku, w której powinna nastąpić zmiana
zastosować, część łaty, której nie można było dokładnie dopasować w pliku, a
tekst, który powinien zastąpić tę część poprawki. Są one oddzielone liniami
zawierające dokładnie 7 identycznych znaków, ewentualnie „<”, „|”, „=” lub „>”
po którym następuje opisowe słowo. Więc
<<<<<<< znaleziono
Część oryginalnego pliku
||||||| oczekiwany
tekst do zastąpienia
=======
tekst do zastąpienia
>>>>>>> wymiana
wskazuje, że "tekst do zastąpienia" powinien zostać gdzieś zastąpiony przez "tekst do zastąpienia"
w części oryginalnego pliku. Jednakże Poruszaj nie był w stanie znaleźć miejsca na zrobienie
ta zmiana.

Poruszaj może również generować raporty o konfliktach, pokazujące tylko słowa, które są zaangażowane, a raczej
niż pokazywanie całych linii. W tym przypadku wynik wygląda następująco:
<<<---oryginał|||stary===nowy--->>>

Jedno możliwe użycie Poruszaj jest biegać łata nałożyć łatkę i zebrać listę
odrzuca poprzez monitorowanie komunikatów o błędach z poprawki. Następnie dla każdego pliku, dla którego a
znaleziono odrzucenie, biegnij
wiggle --replace oryginalny plik oryginalny plik.rej

Na koniec każdy plik musi zostać zbadany w celu rozwiązania wszelkich nierozwiązanych konfliktów i upewnienia się
zastosowana łatka jest semantycznie poprawna.

Alternatywnie, oryginalny plik łaty można przesłać do przeglądaj tryb jako
wiggle -B < plik łatki

Umożliwi to przegląd zmian i konfliktów oraz, do pewnego stopnia, modyfikację;
a następnie wyniki mogą zostać zapisane.

OPCJE
Poniższe opcje są rozumiane przez Poruszaj. Niektóre z nich wyjaśniono w więcej
szczegółowo w kolejnych sekcjach dotyczących ŁĄCZENIA, RÓŻNICY, WYCIĄGANIA i PRZEGLĄDANIA.

-m, --łączyć
Wybierz funkcję „scal”. Jest to funkcja domyślna.

-d, --różnica
Wybierz funkcję "różnic". Wyświetla różnice między plikami. To może
być podane po --Przeglądaj (patrz poniżej), w którym to przypadku łatka lub diff dwóch plików może:
być oglądane bez oryginałów.

-x, --wyciąg
Wybierz funkcję „wyodrębnij”. Wyodrębnia to jedną gałąź łaty lub pliku scalającego.

-B, --Przeglądaj
Wybierz funkcję „przeglądaj”. Jest to podobne do „scal” (lub „różnic”) tylko z a
inna prezentacja. Zamiast po prostu wysłać wynik do standardu
dane wyjściowe są prezentowane za pomocą graficznego interfejsu użytkownika opartego na ncurses, dzięki czemu każdy fragment łatki
można zbadać, aby zrozumieć, jakie konflikty są zaangażowane, a co powinno być
ignorowane w celu umieszczenia łatki na swoim miejscu.

-w, --słowa
Żądaj, aby wszystkie operacje i wyświetlanie były oparte na słowach. Jest to ustawienie domyślne dla
funkcja „różnica”.

-l, --linie
Żądaj, aby wszystkie operacje i wyświetlanie były oparte na wierszach.

-b, --ignoruj ​​puste miejsca
Usunięcie nacisku na białe znaki (spacja, tabulacja i nowa linia) określa różnice i
zmiany.

Normalnie biała spacja jest traktowana jak słowo, które można dopasować lub zmienić za pomocą
łata. Gdy ta flaga obowiązuje, biały znak służy tylko jako separator między
innymi słowy i nie jest dopasowany. Efektem tego jest to, że zmiany w
ilość spacji nie jest traktowana jako znacząca.

Aby być precyzyjnym, wszelkie spacje są łączone z poprzednim słowem lub, w przypadku
wiodącej spacji na linii, z następującym słowem. Jednak nie jest zaangażowany w
wszelkie porównania tego słowa. Jeśli łatka usuwa słowo, dołączona biała spacja
jest również usuwany. Jeśli łatka dodaje słowo, dołączona biała spacja jest dodawana jako
dobrze.

Pusta linia lub taka, która zawiera tylko spacje, będzie traktowana jako pojedyncze słowo
który będzie pasował do każdego innego pustego wiersza, bez względu na to, ile ma spacji.

-b nie ma wpływu na --linia tryb.

-p, --łata
Traktuj ostatni nazwany plik jako łatkę zamiast pliku (z opcją --diff) lub jako scalenie
(--wyciąg). w łączyć or przeglądaj tryb, -p wymaga, aby istniał dokładnie jeden plik, który
to łatka, która może zawierać poprawki do wielu plików. Łatki są połączone
do każdego pliku. Kiedy jest używany w łączyć tryb, to użycie wymaga --wymienić opcja
ponieważ pisanie wielu scalonych plików do standardowego wyjścia jest niepraktyczne.

Podczas przetwarzania poprawki wieloplikowej, -p może po nim następować argument liczbowy
wskazująca, ile składników nazw plików powinno zostać usuniętych z plików wymienionych w
plik poprawki. Jeśli nie podano argumentu liczbowego, Poruszaj wywnioskuje odpowiedni
liczba na podstawie tego, jakie pliki są obecne w systemie plików.

-r, --wymienić
Normalnie scalone wyjście jest zapisywane na standardowym wyjściu. Z --wymienićThe
oryginalny plik jest zastępowany wynikiem scalenia. w przeglądaj tryb, to instruuje
Poruszaj aby zawsze zapisywać wynikowe scalenie przy wychodzeniu.

-o, --wyjście=
Zamiast zapisywać wynik na standardowe wyjście lub zastępować oryginalny plik, to:
żąda, aby dane wyjściowe były zapisywane w podanym pliku. To tylko znaczące
w --łączyć or --Przeglądaj po otrzymaniu pojedynczego scalenia do przeglądania.

Ta opcja zastępuje -r.

-R, --odwrócić
W przypadku użycia z diff funkcji, zamień pliki przed obliczeniem
różnice. W przypadku użycia z łączyć or przeglądaj funkcje, Poruszaj próby
cofać zmiany zamiast je stosować.

-i, --no-ignoruj
Normalnie wiggle ignoruje zmiany w patchu, które wydają się już zaistnieć
zastosowane w oryginale. Z tą flagą te zmiany są zgłaszane jako konflikty
zamiast być ignorowanym.

-W, --pokaż-wiggles
Kiedy jest używany z --łączyć, konflikty, które można wprowadzić, są zgłaszane jako
koliduje z dodatkową zwrotką, która pokazuje, jaki byłby wynik, gdyby ta flaga
nie był używany. Dodatkowa zwrotka jest wprowadzana linią zawierającą 7
znak & (&) znaki zatem:
<<<<<<< znaleziono
Część oryginalnego pliku
||||||| oczekiwany
tekst do zastąpienia
=======
tekst do zastąpienia
&&&&&&& Rezolucja
Tekst, który wynikałby z udanego ruchu
>>>>>>> wymiana

--raport-wiggles
Jeśli scalanie pomyślnie zastosuje wszystkie zmiany, zwykle zakończy się z
status powodzenia (0), zgłaszanie niepowodzenia tylko (1), jeśli wystąpił konflikt i był
z adnotacjami. Z --raport-wiggles Poruszaj zgłosi również niepowodzenie w przypadku jakichkolwiek zmian
musiał być wkręcony. Może to być przydatne, gdy Poruszaj służy do automatycznego łączenia
jak z odrzutowiec. Jeśli zdarzy się jakiś ruch, odrzutowiec zgłosi awarię, a wyniki
mogą zostać zbadane, aby potwierdzić, że są akceptowalne.

-h, --help
Wydrukuj prostą wiadomość pomocy. Jeśli podano po jednym z selektorów funkcji
(--łączyć, --różnica, --wyciąg, --Przeglądaj) wyświetlana jest pomoc specyficzna dla tej funkcji.

-V, --wersja
Wyświetl numer wersji Poruszaj.

-v, --gadatliwy
Włącz tryb pełny. Obecnie nie ma to żadnego znaczenia.

-q, --cichy
Włącz tryb cichy. Powoduje to wyłączenie wiadomości z funkcji scalania, gdy istnieje
są konfliktami nierozwiązywalnymi.

SŁOWA
Poruszaj potrafi podzielić tekst na wiersze lub słowa podczas wykonywania swoich zadań. Linia jest po prostu
ciąg znaków zakończony znakiem nowej linii. Słowo jest albo maksymalnym ciągłym
ciąg znaków alfanumerycznych (w tym podkreślenie), maksymalnie ciągły ciąg spacji lub
znaki tabulacji lub dowolny inny pojedynczy znak.

MERGE
Funkcja scalania modyfikuje dany tekst, znajdując wszystkie zmiany między dwoma innymi tekstami
i narzucenie tych zmian na dany tekst.

Normalnie Poruszaj skupia się na tym, które słowa się zmieniły, aby zmaksymalizować możliwość
znalezienie dobrego dopasowania w danym tekście do kontekstu danej zmiany. Jednak może
zamiast tego rozważ tylko całe wiersze.

Poruszaj wyodrębnia trzy potrzebne teksty z plików wymienionych w wierszu poleceń.
Na liście może znajdować się 1, 2 lub 3 pliki, a każdy z nich może być samodzielnym myślnikiem oznaczającym
standardowe wejście.

Jeśli podano jeden plik, a -p opcja nie jest obecna, plik jest traktowany jako łączyć
plik, czyli wyjście "merge -A" lub "wiggle". Taki plik zawiera domyślnie trzy
strumienie, a te są wyodrębniane i porównywane.

Jeśli podane są dwa pliki, to pierwszy zawiera po prostu główny tekst, a drugi to
traktowany jako plik łaty (wyjście "diff -u" lub "diff -c" albo plik ".rej" z
łata) i dwa pozostałe teksty są z tego wyodrębnione.

Jeśli jeden plik jest podany razem z -p opcja, plik jest traktowany jako plik łatki
zawierające nazwy plików, które łata. W tym przypadku wiele operacji scalania
może się zdarzyć i każdy pobiera jeden strumień z pliku nazwanego w łatce, a pozostałe dwa
z samej poprawki. ten --wymienić opcja jest wymagana, a wyniki są odpisywane
do plików docelowych.

Wreszcie, jeśli wymienione są trzy pliki, przyjmuje się, że zawierają dany tekst, a dwa
inne teksty, w kolejności.

Normalnie wynik scalenia jest zapisywany na standardowe wyjście. Jeśli -r flaga jest podana,
wyjście jest zapisywane do pliku, który zastępuje oryginalny podany plik. W tym przypadku
nazwa oryginalnego pliku zostaje zmieniona na .porig przyrostek (dla „poprawionego oryginału”, co ma sens
jeśli po raz pierwszy użyjesz łata nałożyć łatkę, a następnie użyć Poruszaj aby poruszyć odrzutami).

Dalej, jeśli -o opcja jest podana z nazwą pliku, wynik zostanie do niej wypisany
plik. W takim przypadku nie jest tworzona kopia zapasowa.

Jeśli nie wystąpią żadne błędy (takie jak błędy dostępu do plików) Poruszaj wyjdzie ze statusem 0 jeśli wszystko
zmiany zostały pomyślnie scalone, ze statusem wyjścia 1 i krótką wiadomością, jeśli istnieje
zmiany nie mogły zostać w pełni scalone i zamiast tego zostały wstawione jako adnotacje. Jeśli jednak
bądź --raport-wiggles or --pokaż-wiggles podano opcje, Poruszaj będzie również istnieć z
status 1, jeśli trzeba było wprowadzić jakiekolwiek zmiany, mimo że to się powiodło.

Funkcja scalania może działać w trzech różnych trybach w odniesieniu do linii lub słów.

Z --linie opcja, porównywane są całe wiersze, a wszelkie konflikty są zgłaszane jako całość
linie, które należy wymienić.

Z --słowa opcja, poszczególne słowa są porównywane, a wszelkie konflikty są zgłaszane tylko
obejmujące słowa dotknięte. Używa formatu konfliktu <<<|||===>>>.

Bez żadnej z tych opcji przyjmuje się podejście hybrydowe. Poszczególne słowa są
porównane i połączone, ale gdy zostanie znaleziony konflikt, zgłaszana jest cała otaczająca linia
jako będący w konflikcie.

Poruszaj zapewni, że każda zmiana między dwoma pozostałymi tekstami zostanie odzwierciedlona w
jakoś wynik połączenia. Zmiana może nastąpić na cztery różne sposoby
odzwierciedlenie.

1 Jeśli zmiana ulega konwersji A do B i A znajduje się w odpowiednim miejscu w oryginale
plik, jest zastępowany przez B. Obejmuje to możliwość, że B jest pusty, ale
nie to A jest pusty.

2 Jeśli zostanie znaleziona zmiana, która po prostu dodaje B oraz tekst bezpośrednio poprzedzający i
po wstawieniu znajdują się obok w oryginalnym pliku w odpowiednim
miejsce więc B jest wstawiana między te sąsiadujące teksty.

3 Jeśli zostanie znaleziona zmiana, która się zmienia A do B i wydaje się to (na podstawie kontekstu)
dostosować do B w oryginale zakłada się, że ta zmiana już nastąpiła
zastosowane, a zmiana zostanie zignorowana. Gdy tak się stanie, wiadomość odzwierciedlająca
liczba ignorowanych zmian jest wypisywana przez Poruszaj. Ta optymalizacja może być
stłumiony przez -i flag.

4 Jeśli zostanie znaleziona zmiana, która nie pasuje do żadnej z powyższych możliwości, a
konflikt jest zgłaszany zgodnie z wcześniejszym opisem.

DIFF
Funkcja diff służy przede wszystkim do kontroli wyrównań, które: Poruszaj
obliczane między tekstami i używane do wykonania scalenia.

Wyjście funkcji diff jest podobne do zunifikowanego wyjścia diff. Jednak gdy
diff nie wyświetla długich fragmentów zwykłego tekstu, Poruszajtryb diff wyświetla wszystko.

Podczas obliczania wyrównania opartego na słowach (domyślnie), Poruszaj może trzeba pokazać te słowa-
oparte na różnicach. Odbywa się to za pomocą rozszerzenia formatu unified-diff. Jeśli linia
zaczyna się pionową kreską, następnie może zawierać sekcje otoczone specjalnymi
nawiasy znakowe. Nawiasy „<<<++” i „++>>>” otaczają dodany tekst, podczas gdy „<<<--”
i „-->>>” otaczają usunięty tekst.

Poruszaj można podać dwa teksty do porównania na jeden z trzech sposobów.

Jeśli podano tylko jeden plik, to jest on traktowany jako łatka i jego dwie gałęzie
są porównywane. Pozwala to skutecznie udoskonalić łatkę z łaty opartej na linii
do poprawki opartej na słowach.

Jeśli podano dwa pliki, to zwykle przyjmuje się, że są to proste teksty do porównania.

Jeśli wraz z opcją --patch podane są dwa pliki, zakłada się, że drugi plik jest
być łatą i wyodrębniona zostanie pierwsza (z -1) lub druga (z -2) gałąź i
w porównaniu z tekstem znalezionym w pierwszym pliku.

Ta ostatnia opcja powoduje Poruszaj zastosować algorytm „najlepszego dopasowania” do wyrównywania porcji łatki
z plikiem przed obliczeniem różnic. Ten algorytm jest używany podczas łączenia a
patch z plikiem, a jego wartość można zobaczyć porównując powstałą w ten sposób różnicę
z różnicą wynikającą z rozpakowania jednej gałęzi łaty do pliku, i
następnie obliczenie różnicy między tym plikiem a plikiem głównym.

WYCIĄG
Funkcja ekstraktu z Poruszaj po prostu eksponuje wewnętrzną funkcjonalność do ekstrakcji
jedna gałąź łaty lub plik scalający.

Należy podać dokładnie jeden plik i zostanie on założony jako plik scalający, chyba że
--łata jest podany, w takim przypadku zakładana jest poprawka.

Wybór oddziału dokonywany jest poprzez podanie jednej z -1, -2lub -3 z oczywistymi znaczeniami.

Brose
Funkcja przeglądania Poruszaj przedstawia wynik scalenia lub (z -d) różnica w a
tekstowy graficzny interfejs użytkownika, po którym można nawigować za pomocą klawiszy podobnych do vi(1) lub emacs(1).

Przeglądarka umożliwia oglądanie każdego z dwóch lub trzech strumieni indywidualnie za pomocą
kolory używane do wyróżniania różnych rodzajów tekstu - zielony dla dodanego tekstu, czerwony dla usuniętego
tekst itp. Może również pokazywać samą łatkę, pełny wynik scalenia lub
połącz i łatkę obok siebie.

Przeglądarka udostępnia wiele kontekstowych stron pomocy, do których można uzyskać dostęp przez
wpisując „?”

W prawym górnym rogu GUI wyświetli się typ tekstu pod kursorem, który jest również
wskazywany przez kolor tekstu. Opcje to niezmienione, zmienione, niedopasowane,
Obce, już stosowane i konflikt. Jeśli ich znaczenie jest trochę jasne
eksperymenty powinny pomóc.

Ograniczona ilość edycji jest dozwolona, ​​gdy w przeglądaj tryb. Obecnie tekst, który jest
niechciane można wyrzucić za pomocą x. Spowoduje to konwersję konfliktu lub zmiany na niezmieniony,
i Unmatched na Changed (co skutecznie zmienia go na pusty ciąg). podobnie
tekst można oznaczyć jako pożądany za pomocą c. Spowoduje to przekształcenie konfliktu lub obcego w
Zmieniono. Ponowne użycie tego samego klawisza spowoduje cofnięcie zmiany.

Wreszcie wielkie litery X cofnie wszystkie zmiany w bieżącej linii.

Aby wprowadzić bardziej rozległe zmiany, możesz użyć v który prowadzi edytor, preferując $WIZUALNE or
$ EDITOR jeśli są osadzone w środowisku.

Jeśli dokonasz jakichkolwiek zmian, wiggle zapyta Cię, czy chcesz je zapisać, nawet jeśli
--wymienić nie został podany.

OSTRZEŻENIE


Należy zawsze zachować ostrożność przy naklejaniu odrzuconego plastra z: Poruszaj. Kiedy łata
odrzuca łatę, nie bez powodu. Nawet jeśli Poruszaj może być w stanie znaleźć
wiarygodne miejsce do zastosowania każdej zmiany tekstu, nie ma gwarancji, że wynik jest
poprawne w każdym sensie semantycznym. Wynik należy zawsze sprawdzić, aby upewnić się, że jest
skorygować.

PRZYKŁADY


Poruszaj --wymienić filet plik.rej
To jest normalne użycie Poruszaj i przyjmie wszelkie zmiany w plik.rej że łata mógłby
nie stosuj i połącz je w filet.

Poruszaj -dp1 filet plik.rej
Spowoduje to słowne porównanie między filet oraz zanim oddział
różnica w plik.rej i pokaż różnice. Dzięki temu możesz zobaczyć, gdzie znajduje się dana łatka
miałoby zastosowanie.

Poruszaj --łączyć --help
Uzyskaj pomoc na temat funkcji scalania w Poruszaj.

Poruszaj --Przeglądaj --łata aktualizacja.poprawka
Przeanalizuj aktualizacja.poprawka plik łatek i przedstawić listę załatanych plików, które można
przeglądane w celu szczegółowego zbadania każdej poprawki.

Poruszaj można zintegrować z odrzutowiec tak, że jest używany jako domyślne narzędzie do scalania i diff
narzędzie. Można to osiągnąć, dodając następujące wiersze do: .gitconfig w domu użytkownika
katalogiem.
[scal "poruszaj się"]
name = "Wiggle elastyczne łączenie"
kierowca = wiggle -o %A %A %O %B
rekurencyjne = binarne
[łączyć]
narzędzie = poruszaj się
[mergetool "poruszać się"]
cmd = wiggle -B -o $MERGED $LOKALNY $BASE $ZDALNY
[difftool "wiggle"]
cmd = wiggle -Bd $LOKALNE $ZDALNE
To sprawi, że odrzutowiec narzędzie scalania i odrzutowiec narzędzie różnicowe posługiwać się Poruszaj.

Jeśli chcesz odrzutowiec zawsze używać Poruszaj dla połączeń (co może być niebezpieczne), możesz dodać
* łączenie = poruszanie się
do odpowiedniego gitatrybuty plik taki jak $HOME/.config/git/attributes.

ZACYTOWAĆ


Nazwa Poruszaj został zainspirowany następującym cytatem.

Problem, który napotykam, polega na tym, że często chcę brać
(plik1+poprawka) -> plik2,
kiedy nie mam file1. Ale narzędzia do scalania chcą wziąć
(plik1|plik2) -> plik3.
Nie widziałem narzędzia graficznego, które pomaga poruszać łatką
do pliku.
— Andrew Morton — 2002 r

NIEDOCIĄGNIĘCIA


- Poruszaj nie może odczytać rozszerzonego wyjścia zunifikowanego-diff, które generuje dla --diff
--słowa.

- Poruszaj nie może odczytać formatu scalania opartego na słowach, który tworzy dla --merge
--słowa.

- Poruszaj nie rozumie Unicode i dlatego będzie traktował dużo znaków spoza ASCII
tak samo, jak traktuje interpunkcję - każde z nich będzie traktowane jako osobne słowo. ten
przeglądarka nie wyświetli poprawnie znaków spoza ASCII.

Korzystaj z Wiggle online za pomocą usług onworks.net



Najnowsze programy online dla systemów Linux i Windows