Odpowiedź udzielona przez @VonC to, IMO, najlepszy sposób tworzenia strumienia na podstawie arbitralnego czasu w przeszłości, do którego nie odwołuje się linia bazowa.
Aby odpowiedzieć na drugie pytanie "Czy w dowolnym momencie można utworzyć linię bazową lub migawkę inną niż bieżący stan komponentu/strumienia?"
Linia bazowa - nie. Linie bazowe rejestrują bieżący stan komponentu.
Migawka - Jeśli nie masz linii bazowych, do których można się odnosić, nie ma możliwości utworzenia migawki wskazującej na pewien punkt przeszłości. Jeśli jednak istnieje linia bazowa składnika, możliwe jest utworzenie migawki, która wskazuje na tę linię bazową, nawet jeśli wystąpiły zmiany w komponencie od tej linii podstawowej. Oto, jak:
Powiedz, że linie bazowe BLN1 i BLN2 to dwie linie bazowe komponentu COMP, które rejestrują różne stany tego komponentu (najpóźniej BLN2).Aby utworzyć SNP1 migawka na my_stream strumień, który kapsułkuje BLN1, można wykonać następujące czynności:
- Utwórz nowy strumień (nazywają to test_stream) i dodać składnik COMP @ BLN1
- Tworzenie SNP1 Migawka na test_stream : wybierz BLN1 dla wartości bazowej.
- Usuń ten nowy strumień test_stream - w którym momencie pojawi się monit o przeniesienie snapshot SNP1 do innego strumienia. Wybierz my_stream.
- Po usunięciu obrazu testowego, osierocona migawka SNP1 znajduje nowy dom w my_stream i wskazuje na starszą linię bazową BLN1.
Działa to w RTC v4.0.3 - jeśli używasz innej wersji RTC, możesz najpierw wypróbować to w obszarze projektu testowego.
Niezła na migawce. +1. Zwróćcie uwagę, że moi koledzy przetestowali moje podejście do odbudowy strumienia w przeszłości i donoszą, że nękani są przez konflikt, kiedy RTC ponownie zastosował zmianę ustawioną od najstarszej do najnowszej. Więc nie był to płynny proces. – VonC