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”)?

Avian00
źródło
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”.

Karl Bielefeldt
źródło
„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.

awdz9nld
źródło
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 :)

dukeofgaming
źródło
0

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

Caleb
źródło
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ą.

Albireo
źródło
-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.

EsotericNonsense
źródło
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”.

Alex R.
źródło