I've been reading about snapshot and doing it practically. I got the idea of snapshot but I could not figure out why do we use snapshot. could anyone please tell me what is use of snapshot in RTC, or any scenario where snapshot is used.
A snapshot is use to keep a coherent state of a stream (multiple components and their current baselines/delivered change sets) or repo workspace.
For instance, when an RTC build is requested, RTC will start by making a snapshot on the build-dedicated repo workspace specified by the build definition, in order for the user to easily create a stream based on that snapshot later on, if the build is problematic and warrant its own debug environment.
A snapshot is very useful to initialize a stream in one operation: select a snapshot and all the component baselines included in that snapshot appear in the stream.
(Note that there is also a snapshot in planning: here I was referring only to a source control snapshot)