Przejdź do głównej zawartości

Porównywanie i scalanie projektów

Porównanie pozwala dokładnie zobaczyć, czym różnią się dwa projekty, a w przypadku elementów, które można bezpiecznie skopiować, scalić wybrane zmiany z jednego do drugiego. Jest przeznaczone do dwóch codziennych sytuacji:

  • Promowanie zmian między środowiskami — przejrzyj, czym różni się projekt QA (deweloperski) od swojego odpowiednika produkcyjnego, a następnie przenieś do produkcji tylko wybrane zmiany.
  • Przegląd względem wcześniejszej migawki lub kopii — porównaj projekt z jego kopią (na przykład miesięcznym klonem), aby zobaczyć, co się zmieniło.

Przez cały czas masz kontrolę: nic nie jest zapisywane, dopóki nie zaznaczysz konkretnych elementów i ich nie zastosujesz, a wcześniej możesz zweryfikować wszystko próbą bez zapisu.

QA (deweloperski)przepływ pracy: Loadkrok: Filterzmienna: yearPorównaj● zmieniono+ dodano= bez zmianscalić?scalić?pomińscal wybraneProdukcjanic nie jest zapisywane,dopóki nie zastosujesz (najpierw próba)
Dopasowane element po elemencie (według identyfikatora dla kopii, według nazwy dla niezależnych projektów), każda różnica jest oznaczona jako zmieniona, dodana lub taka sama. Wybierasz, które scalić — nic nie trafia do produkcji, dopóki nie zastosujesz.

Aby porównać dwa projekty, PlaidCloud musi ustalić, który element po lewej odpowiada któremu elementowi po prawej. Strategię wybiera automatycznie:

  • Kopie i migawki tego samego projektu są dopasowywane według ich wewnętrznego identyfikatora (klon zachowuje te same identyfikatory), więc nawet elementy ze zmienioną nazwą są dopasowane precyzyjnie.
  • Niezależne projekty — takie jak projekt QA i osobno zbudowany projekt produkcyjny — nie mają wspólnych identyfikatorów, więc są dopasowywane według nazwy. W takim przypadku elementy są oznaczone (name-matched).

Dopasowanie według nazwy sprawia, że porównanie QA z produkcją jest użyteczne, skoro oba projekty zbudowano osobno. Ma ono jednak ograniczenia: elementów o zduplikowanych nazwach nie zawsze da się sparować jeden do jednego, a element oznaczony ambiguous match oznacza, że więcej niż jeden kandydat miał tę samą nazwę — przejrzyj je ręcznie przed scaleniem.

Istnieje trzeci sposób dopasowania, używany, gdy jeden projekt został zbudowany przez skopiowanie z drugiego: parowanie według zapisanego pochodzenia kopii, dzięki czemu kopia ze zmienioną nazwą nadal pasuje do swojego oryginału. Nie jest wybierany automatycznie — żądasz go przez Synchronizuj ponownie do…, opisane w Ponowna synchronizacja z projektu, z którego skopiowano.

  1. Otwórz Analyze
  2. Wybierz Projekty z górnego paska menu
  3. Kliknij prawym przyciskiem projekt, od którego chcesz zacząć (lub użyj jego menu akcji) i wybierz Porównaj z…
  4. W oknie Porównaj projekty projekt, od którego zacząłeś, jest wypełniony jako Źródło
  5. Wybierz projekt Cel z listy rozwijanej — projekt, z którym chcesz porównać
  6. Kliknij Porównaj

Oba projekty muszą znajdować się w tym samym obszarze roboczym.

Lewa strona grupuje każdą różnicę w jej kategorii: Przepływy pracy (z zagnieżdżonymi poniżej Krokami), Zmienne, Wymiary, Edytory, UDF, Widoki i Tabele.

Każdy element ma plakietkę ze stanem:

  • Dodano — obecny w Źródle, ale nie w Celu (zostałby utworzony w Celu)
  • Zmodyfikowano — obecny w obu, ale konfiguracja się różni
  • Usunięto — obecny w Celu, ale nie w Źródle
  • Bez zmian — identyczny po obu stronach (domyślnie ukryty)

Wybierz zmieniony element, aby zobaczyć jego szczegóły po prawej: tabelę Pole / Źródło / Cel z tym, co się zmieniło, a pod nią pełne Różnice konfiguracji. Jeśli różnice elementu są bardzo duże, są obcinane — kliknij Rozwiń pełne różnice, aby załadować pełną wersję.

  • Filtruj według nazwy lub ścieżki zawęża drzewo do pasujących elementów.
  • Pola wyboru stanów pokazują lub ukrywają elementy Dodano, Zmodyfikowano, Usunięto i Bez zmian.
  • Wymaga ręcznej obsługi pokazuje tylko zmiany, których nie można scalić automatycznie (patrz niżej).

Nie każdą różnicę można bezpiecznie skopiować między projektami. Porównanie oznacza każdy element, dzięki czemu zawsze wiesz, co da się scalić:

  • Przepływy pracy, kroki i zmienne można scalać.
  • Wymiary, edytory, UDF, widoki i tabele są tylko do podglądu — pojawiają się w porównaniu, abyś mógł je przejrzeć, ale kopiujesz je za pomocą ich własnych dedykowanych narzędzi, a nie stąd.

Niektóre pojedyncze zmiany są także oznaczone jako ręcznie (z kłódką) nawet w kategorii, którą można scalać, ponieważ automatyczne zastosowanie ich nie byłoby bezpieczne. Panel szczegółów wyjaśnia dlaczego i co zrobić zamiast tego. Najczęstsze przypadki:

  • Kroki w porównaniu z dopasowaniem według nazwy (QA a produkcja) służą tylko do przeglądu — konfiguracja kroku może odwoływać się do połączeń i agentów specyficznych dla środowiska, więc kopiuje się ją ręcznie. Użyj różnic, aby dokładnie zobaczyć, co zmienić w Celu.
  • Usunięcie zmiennej nie jest stosowane automatycznie — usuń zmienną w projekcie docelowym ręcznie.

Wiersz podsumowania pokazuje ten podział na pierwszy rzut oka, na przykład „12 do scalenia · 5 tylko do podglądu” oraz „3 wymagają ręcznej obsługi”.

  1. Zaznacz elementy, które chcesz skopiować ze Źródła do Celu. Użyj Zaznacz wszystko, aby wybrać każdy aktualnie wyświetlany element możliwy do scalenia, lub zaznacz pojedyncze wiersze. Elementów tylko do podglądu i ręcznych nie można zaznaczyć.
  2. Kliknij Próba bez zapisu, aby zweryfikować wybór bez zapisywania czegokolwiek. PlaidCloud podaje, ile operacji zostałoby zastosowanych (nowych i zaktualizowanych), i oznacza te, które by się nie powiodły.
  3. Gdy wynik próby wygląda poprawnie, kliknij Zastosuj (w wyniku próby lub w stopce).
  4. Potwierdź operację w oknie Potwierdź scalenie.

Scalone elementy zachowują swoją tożsamość w Celu, więc możesz później ponownie uruchomić porównanie i scalić kolejne zmiany bez tworzenia duplikatów.

  • Cel uległ zmianie — jeśli ktoś inny zmodyfikował Cel po załadowaniu porównania, scalanie zatrzymuje się, aby nie nadpisać jego pracy. Odśwież porównanie i zastosuj ponownie.
  • Scalanie zastosowano częściowo — jeśli jedna operacja zakończy się niepowodzeniem w trakcie, pozostałe są zgłaszane jako pozostałe. Usuń przyczynę i wybierz Ponów pozostałe albo anuluj i odśwież.

Ponowna synchronizacja z projektu, z którego skopiowano

Dział zatytułowany „Ponowna synchronizacja z projektu, z którego skopiowano”

Porównywanie działa między dowolnymi dwoma projektami w obszarze roboczym. Ale gdy Cel został zbudowany przez skopiowanie ze Źródła — za pomocą Kopiuj projekt do istniejącego projektu — PlaidCloud pamięta, który obiekt w Celu pochodzi z którego obiektu w Źródle. Synchronizuj ponownie wykorzystuje tę pamięć, aby porównać oba projekty tak, jak są faktycznie powiązane, zamiast zgadywać na podstawie identyfikatorów i nazw.

Dzięki temu jeden dzierżawca może przechowywać Dev, QA i produkcję jako osobne projekty i promować zmiany między nimi. Kopiujesz Dev do QA raz; od tej pory ponowna synchronizacja QA z Dev pokazuje tylko to, co zmieniło się w Dev od tamtej pory, i pozwala przenieść wybrane elementy do QA — a potem QA do produkcji w ten sam sposób. Bez eksportu, bez archiwum, bez drugiego obszaru roboczego.

Zwykłe porównanie dwóch niezależnie zbudowanych projektów musi parować elementy według nazwy, ponieważ nie mają wspólnych identyfikatorów. Działa to, dopóki kopia nie zmieniła czegoś w nazwie. Gdy Kopiuj projekt umieszcza obiekt, którego nazwa lub identyfikator już istniały w Celu, nadaje przychodzącemu obiektowi nową tożsamość (z dopisanym copy) — więc zwykłe porównanie widzi kopię ze zmienioną nazwą jako niezwiązaną z jej oryginałem w Źródle: element Źródła jest odczytywany jako Dodano, a jego własna kopia w Celu jako Usunięto, obok siebie. Patrzysz na dwie połówki tego samego obiektu bez możliwości ich dopasowania.

Ponowna synchronizacja paruje je zamiast tego według pochodzenia — zapisanej linii kopii — więc obiekt ze zmienioną nazwą lub numerem nadal pasuje do tego, z którego pochodzi, a jako różnice pokazują się tylko rzeczywiste zmiany.

  1. Otwórz Analyze
  2. Wybierz Projekty
  3. Kliknij prawym przyciskiem projekt, z którego skopiowano — Źródło, np. Dev — lub użyj jego menu akcji i wybierz Synchronizuj ponownie do…
  4. Wybierz Cel, do którego wcześniej skopiowano — np. QA
  5. Kliknij Synchronizuj ponownie

To samo okno Porównaj projekty, a wszystko z sekcji Odczytywanie porównania, Co można scalić i Scalanie zmian obowiązuje bez zmian. Jedyna różnica to sposób parowania elementów.

Ponowna synchronizacja wymaga zapisanej kopii między dwoma projektami. Jeśli synchronizujesz ponownie parę, która nigdy nie była połączona przez Kopiuj projekt — lub tylko częściowo — PlaidCloud mówi o tym wprost, zamiast udawać:

  • Brak pochodzenia w ogóle — baner informuje, że porównanie wróciło do zwykłego parowania i nie jest ponowną synchronizacją. Zachowuje się dokładnie jak zwykłe porównanie, w tym podział na Dodano/Usunięto dla wszystkiego, co wcześniejsza kopia zmieniłaby w nazwie. Tak jest, gdy ponownie synchronizujesz dwa niepowiązane projekty lub parę połączoną importem archiwum, a nie Kopiuj projekt.
  • Częściowe pochodzenie — jeśli kopia objęła tylko niektóre kategorie, baner wymienia te, które wróciły do zwykłego parowania. Te kategorie są wtedy parowane według nazwy, co scala ten sam bezpieczny podzbiór co porównanie QA z produkcją — zmiany zmiennych i rekordów przepływów pracy są przenoszone, natomiast kroki i nowo dodane przepływy pracy służą tylko do przeglądu (patrz Co można scalić).

W obu przypadkach okno pokazuje i scala dokładnie to parowanie, które faktycznie uzyskano — ponowna synchronizacja nigdy po cichu nie wraca do dopasowania według nazwy, twierdząc, że dopasowała według pochodzenia.