<div dir="ltr"><div><div>I think the change would be positive in several ways. Snapshot is a more familiar term that we can give content on what that means in Pulp (content not settings). I think this will make Pulp more approachable. It also aligns with the language aptly uses which I see as a good thing for clarity in our similar software space. They define a snapshot as a "immutable list of packages". <a href="https://www.aptly.info/doc/overview/">https://www.aptly.info/doc/overview/</a><br><br>This also solves the inconsistent naming problem between RepositoryVersion and RepoVersion. We try to enforce a standard but people still shorten it because the name is just so long. Renaming it to snapshot would resolve this.<br><br></div>It would be painful, but a fancy IDE can do most of the renaming automatically.<br><br></div>So a +1 from me.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 20, 2018 at 10:20 AM, David Davis <span dir="ltr"><<a href="mailto:daviddavis@redhat.com" target="_blank">daviddavis@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have some reservations about using the name Snapshot. Specifically, I don’t think the snapshot term is a good fit. As wikipedia says [0], in CS a snapshot represents a state of something "in the past.” How would we describe the current state of the repository’s content then? I think "current version" would make sense but not "current snapshot.”<div><br></div><div>Also, changing the code in pulpcore and plugins is going to be a pain. Especially with the other things we have planned like renaming Importers to Remotes. I think this should factor into our decision as well.</div><div><br></div><div>[0] <a href="https://en.wikipedia.org/wiki/Snapshot" target="_blank">https://en.wikipedia.org/<wbr>wiki/Snapshot</a></div></div><div class="gmail_extra"><span class="HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_-7098906272627290297gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br></div><div>David<br></div></div></div></div></div></div></div></div></font></span><div><div class="h5">
<br><div class="gmail_quote">On Tue, Mar 20, 2018 at 10:05 AM, Austin Macdonald <span dir="ltr"><<a href="mailto:austin@redhat.com" target="_blank">austin@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">"Snapshot" is a nice way to explain what a RepositoryVersion is, especially in the context of Publications. "Publish a snapshot."  I like the idea, and I informally floated it around PulpCon but decided not to propose it because:</div><div style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><ul><li>Snapshot is a little misleading about the actual data we store. Specifically, since RepositoryVersions are stored as diffs, when a user views the "content in a version", this is calculated. This is a subtle point, and hopefully not user facing at all, but I think snapshot implies a little bit more certainty than we can offer.<br></li><li>A snapshot also implies a slightly different workflow to me. The workflow I expect with snapshots is to change Repositories "willy nilly", and when you are satisfied, you "take" an snapshot. Versions imply the workflow we have, which is that any time the content set of a Repository is changed, a new version is created.</li></ul></div><div>However, I think those concerns are minor and are overshadowed by the potential benefits. Also, I see a direct connection to the thread "Plugin relationship to tasks". The name Snapshot/RepositoryVersion is part of the choice of how we portray the changing of content set of a repo. </div><div><ol><li>We can "change a repo" which creates a new version. <br></li><li>We can "create a new version" which has different content.</li></ol><div>To me (1) implies "dispatching a task that has the side effect of creating a new repository version.<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> It would lend itself well to the concept of "managing repositories" rather than "managing versions/snapshots". If we choose this way, I think the name Snapshot conceptually makes sense.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div>(2) implies a POST to create a new RepositoryVersion. As explained in the plugin tasks thread, there are some problems with this, but it is similar to the concept of creating a git commit. I<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> think we wouldn't think of "creating a new Snapshot" to change the content.</span></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-7098906272627290297h5">On Tue, Mar 20, 2018 at 9:33 AM, Dennis Kliban <span dir="ltr"><<a href="mailto:dkliban@redhat.com" target="_blank">dkliban@redhat.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-7098906272627290297h5"><div dir="ltr"><div><div><div>I propose that we rename the RepositoryVersion model in Pulp 3 to Snapshot. The REST API would also change to use /api/v3/repositories/<uuid>/sn<wbr>apshot/<br><br></div>The Snapshot name is a better description of what a repository version is and it is also much shorter in length. <br><br></div>Thoughts?<span class="m_-7098906272627290297m_-7708990545226522737HOEnZb"><font color="#888888"><br><br><br></font></span></div><span class="m_-7098906272627290297m_-7708990545226522737HOEnZb"><font color="#888888">-Dennis<br></font></span></div>
<br></div></div>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div>
<br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div></div></div>
<br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div>