For an introduction / demo, see: https://youtu.be/gxAzPMqJ7Ic
This is a Maven project. Maven is simply a dependency manager for Java (https://maven.apache.org/).
To run (main program is stanford/edu/gitviewer/GitViewer.java):
- Set
TEST_REPO_PATHto the desired folder containing version history to view.- Our use case expects a .git history in this folder.
- Run
GitViewer.javaas a Java application.
Description of relevant files:
runnable/: contains drag-and-drop JARs for Deluxe and Lite versions of Pensievestanford/edu/gitviewer/: handles overall Pensieve setup and layoutGitViewer.java: main controller, full version of Pensieve used by Teaching AssistantsGitViewerStudent.java: condensed version of Pensieve given to studentsFileHistory.java: processes code history (for us, the .git file) into useful formatsCodeEditor.java: controls center panel of student code displayed per snapshotIntermediate.java, Parser.java, Util.java: processes and stores useful metadata about each snapshot (e.g. timestamp, working hours)
graphs/: handles display of Workflow Graphs panelIndentation.java, RunGraphs.java, SourceLengthGraph.java: custom graphs that we designed and have used with Pensieve. additional / different ones can be added similarly!ImageViewPane.java: handles sizing / resizing of right side panels
minions/, util/: useful utility classes
Chris Piech ([email protected]), Annie Hu ([email protected]), Lisa Yan ([email protected])