Czy istnieje przeciwieństwo terminu „backporting”?


20

Jak rozumiem, termin „Backporting” jest używany do opisania poprawki, która zostanie zastosowana w przyszłej wersji, która jest również przeniesiona do poprzedniej wersji. Definicja Wikipedii jest następująca:

Backporting to czynność polegająca na wprowadzeniu określonej modyfikacji oprogramowania (poprawki) i zastosowaniu jej do starszej wersji oprogramowania, niż początkowo została stworzona. Stanowi część etapu konserwacji w procesie tworzenia oprogramowania ...

Na przykład:

  • Problem został wykryty i naprawiony w wersji 2.0. Ta sama poprawka została przeniesiona i zastosowana do wersji 1.5.

Jaki jest termin, gdy robi się to w przeciwnym kierunku?

  • Problem został wykryty i rozwiązany w wersji 1.5. Ta sama poprawka została przeniesiona i zastosowana w wersji 2.0.

Czy nadal obowiązywałby termin „backporting”? A może istnieje termin „Forwardporting” (który w zabawny sposób przypomina „Port Forwarding”)?


1
A co z „propagacją”?
Gill Bates,

Odpowiedzi:


28

Jest to to samo, co przeciwieństwo odwrotnego ukośnika. Każdy chce to nazwać ukośnikiem, ale tak naprawdę to tylko ukośnik. Przeciwieństwem backportowania jest po prostu „przenoszenie”.


„Przenoszenie” jest terminem bardziej ogólnym i może odnosić się do każdego transferu kodu, nawet między językami. W mojej firmie używamy „przesyłania dalej” w konkretnym przypadku opisanym w tym pytaniu.
Marko Topolnik,

14

Zasadniczo tak się nie dzieje, ponieważ naprawiłbyś wspomniany problem w bazie kodu V2.0 i opcjonalnie zrobiłeś to backport. :) Jeśli chodzi o kontrolę wersji, jest to po prostu nazywane merging.


3
Dzieje się tak, ponieważ V1.xi V2.x współistnieją i są utrzymywane równolegle, każde w osobnej gałęzi obsługi. Błąd między wersjami można wykryć i naprawić z dowolnej strony.
Marko Topolnik,

3
Jeśli wersja 1.5 jest już wydana, ale wersja 2.0 zostanie wydana w przyszłości, najpierw naprawisz problem w wersji 1.5, ponieważ ta wersja jest już używana przez klientów i wymaga naprawy w trybie pilnym. Następnie przenosisz poprawkę do wersji 2.0.
user1364368

@ user1364368 zarządzanie wersjami jest kwestią ortogonalną. bardziej sensowne jest naprawienie błędu w najnowszej wersji bazy kodu, ponieważ zawiera on więcej informacji (jego historia zmian jest nadzbiorem historii zmian starszej wersji). pomyśl o tym inaczej: nie zwracaj uwagi na to, że zmiana jest związana z błędem. czy nadal wolisz wprowadzać zmiany w starszej wersji? powiedzmy, zacznij tworzenie funkcji w starszej wersji bazy kodu? to bardzo szybko sprowadza się do bezsensownej, rekurencyjnej strategii rozwoju
awdz9nld

@ MartinKällman Kierownik bazy kodu (dla wersji 2.0) może być (z powodu bieżących prac programistycznych) w stanie, który nie pozwala na opracowanie poprawki. Może potrwać kilka dni lub tygodni, zanim szef bazy kodów znów będzie czysty, ale nie możesz czekać tak długo na korekcję awaryjną.
user1364368

1

Chyba chciałbym używać określeń: future-proofing lub, alternatywnie, kompatybilność w przód :

Z Wikipedii przyszłościowy :

Dowód na przyszłość: Wyrażenie „proof na przyszłość” opisuje wyłączny proces prób przewidywania przyszłych zmian, aby można było podjąć działania w celu zminimalizowania możliwych negatywnych konsekwencji i wykorzystania szans.

I kompatybilność do przodu :

Kompatybilność do przodu lub do góry (czasami mylona z rozszerzalnością) to koncepcja kompatybilności w projektowaniu systemów, np. Zgodność z poprzednimi wersjami. Kompatybilność do przodu ma na celu zdolność projektu do wdzięcznego przyjmowania danych wejściowych przeznaczonych dla jego późniejszych wersji.

Lub oba „zabezpieczenie na przyszłość dzięki kompatybilności z przyszłością”.

Och, modne powiedzonka :)


0

Backportowanie w przeciwnym kierunku jest po prostu przenoszeniem , ale nie ma powodu, aby robić to w opisywanym kontekście.


0

Myślę, że termin „backport” odnosi się tylko do działania polegającego na wprowadzeniu funkcji nowej wersji programu do starszej wersji tego samego programu, co zapewnia korzyści z jego dalszego używania.

Ponieważ nie rozwijasz nowej funkcji na starych, zamkniętych wersjach, nie istnieje żadne „wsteczne” backportowanie (jeśli jesteś, z definicji, wersja nie jest stara).

To, co nazywacie „portem przekazywania”, rozwiązującym problem zarówno w starej, jak i nowej wersji, jest zwykłą poprawką lub łatką.


-1

Nie ma powszechnie używanego terminu na połączenie zestawu zmian ze starszej gałęzi oprogramowania do nowszej. O ile najnowsza gałąź oprogramowania nie jest bardzo niestabilna, większość programistów opracuje poprawki błędów w najnowszej gałęzi oprogramowania, niezależnie od wersji, w której znaleziono błąd. Ma to na celu ograniczenie konfliktów scalania od czasu zmiany najnowszej gałęzi oprogramowania częściej niż starsze gałęzie. Wszelkie błędy oprogramowania zgłaszane przez klienta są z definicji zgłaszane we wcześniejszej wersji niż zostały naprawione, ponieważ klient nie ma dostępu do najnowszej gałęzi oprogramowania.


prawda, chyba że klient chce TERAZ naprawić.
Alex R

-1

Przybyłem tutaj, szukając odpowiedzi, ponieważ piszę komentarz do tego scenariusza. Biorąc pod uwagę brak faktycznego żargonu dla tej typowej sytuacji, zamierzam przeliterować to jako „połączenie poprawek produkcyjnych w gałęzi programistów”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.