Now that you have Pastwatch installed and setup, you're probably excited to get started using it.
To get started, just create a project with one user. In this example, the project name is testproject and the user's name is Alex:
yipal% pastctl create testproject
sfscd not running, limiting sources of entropy
Creating new key: project.key.57449#1 (Rabin)
Key Label: testproject
wrote key: /tmp/project.key.57449
new project ID: yvQocoVj1Sxd9HrWZFSly+AczFM
yipal% pastctl join Alex testproject
sfscd not running, limiting sources of entropy
Creating new key: member.key.57495#1 (Rabin)
Key Label: Alex
wrote key: /tmp/member.key.57495
give QlRHH7Zxl+PvqdezlR6kssss4wo and a member name to project administrator
yipal% pastctl addmember -k QlRHH7Zxl+PvqdezlR6kssss4wo Alex testproject
new member: Alex, QlRHH7Zxl+PvqdezlR6kssss4wo
Then, create some files and import them into the project:
yipal% mkdir initial_files; cd initial_files
yipal% echo 'int main(void) {printf("Hello Pastwatch\n");}' > main.c
yipal% past -p testproject import -m "Initial import" testproject
pastwatch: Creating a new log key and log for this replica.
pastwatch: Member block currently has 0 entries:
pastwatch: sfscd not running, limiting sources of entropy
Creating new key: yipal@sweat.lcs.mit.edu
Key Label: yipal@sweat.lcs.mit.edu [press enter]
pastwatch: no replica, building from scratch
pastwatch: root of branch tree 9e7ZVaFGdhCuRsxVKmTpz0m1et0
pastwatch: new snapshot: De0V6cD4FO6AP31cI+yW8jdnXrQ, 1 deltas. For commit record: 9e7ZVaFGdhCuRsxVKmTpz0m1et0
pastwatch: no new deltas, no new snapshots built
pastwatch: Using branch head: 9e7ZVaFGdhCuRsxVKmTpz0m1et0
N ./main.c
pastwatch: committing
pastwatch: new snapshot: nAdZr8wES4nrFXulnaylQAd-VYo, 5 deltas. For commit record: 0WPRgjsWg0u4wG9zejuGaefua9o
Now you can checkout a working copy of the project files:
yipal% cd /tmp
yipal% past -p testproject checkout -d working_dir testproject
pastwatch: no new deltas, no new snapshots built
pastwatch: Using branch head: 0WPRgjsWg0u4wG9zejuGaefua9o
D working_dir
U working_dir/main.c
And edit the working copy:
yipal% cd working_dir
yipal% echo "// Written by Alex Yip" >> main.c
yipal% past diff main.c
pastwatch: Using branch: init
pastwatch: no new deltas, no new snapshots built
pastwatch: Using branch head: 0WPRgjsWg0u4wG9zejuGaefua9o
File: main.c
===============================================
diff -t yipal@sweat.lcs.mit.edu:2 main.c
1a2
> // Written by Alex Yip
Finally, you can commit your changes to the repository:
yipal% past commit -m "Added by-line"
pastwatch: Using branch: init
pastwatch: no new deltas, no new snapshots built
pastwatch: Using branch head: 0WPRgjsWg0u4wG9zejuGaefua9o
pastwatch: checking for updates and conflicts
pastwatch: updating .
M main.c
pastwatch: committing in .
Committing main.c
pastwatch: committing
pastwatch: new snapshot: HXN45VZLzxK2qDvNBRaLgC7zgMg, 1 deltas. For commit record: gD9vlfvoof90VT2ZXXZAfKt9fKM
That's the easiest way to get started using Pastwatch. The next chapter provides more details about how to use Pastwatch.
Go to the first, previous, next, last section, table of contents.