<div dir="ltr"><div dir="ltr">Am Mo., 18. Feb. 2019 um 19:53 Uhr schrieb Chris Muller <<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
3.  Port Squot to use FileDirectory.<br><br></blockquote><div><br></div><div>Part of the fun is that one of its components writes the serialized forms of objects (packages in FileTree format being the almost exclusively used "special" case) to a directory, not even knowing that it is in fact constructing a Git tree in the process. One can try to reimplement that abstraction and call it GitDirectory, or throw over this part of the architecture, of course. Any volunteers? ;-)<br></div><div><br></div><div>On the other hand, this abstraction is one of the parts that will make it quite hard to integrate the Git history in the IDE (that is in the System Browser, for method versions, timestamps, ...) because you would have the cross this barrier to extract any history subsets efficiently. Esteban's mail sounds to me like Iceberg intentionally does not have this abstraction, but I didn't check. One argument in favor of the abstraction is that (in theory) you can swap out Git for something else without touching the file-in and file-out components (in practice, implementing the VCS adapter is the hardest part and even the Git Browser reaches down into the Git layers to accomplish some things, but so it at least deserves its name).</div></div></div>