dat: Dat repository

Description Usage Arguments Examples

Description

Create and modify a dat repository.

Usage

1
2
dat(dataset = "test", path = tempdir(), remote = NULL, dat = "dat",
  verbose = FALSE)

Arguments

dataset

name of the dat 'dataset' (namespace)

path

directory of the dat repository

remote

path or url to clone form. Default will init a new repo.

dat

name of the 'dat' executable (possibly with path)

verbose

gives some more output

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# init a temporary repo
repo <- dat("cars")

# insert some data
repo$insert(cars[1:20,])
v1 <- repo$status()$version
v1

# insert some more data
repo$insert(cars[21:25,])
v2 <- repo$status()$version
v2

# get the data
data1 <- repo$get(v1)
data2 <- repo$get(v2)
diff <- repo$diff(v1, v2)
diff$key

# create fork
repo$checkout(v1)
repo$insert(cars[26:30,])
repo$forks()
v3 <- repo$status()$version

# go back
repo$checkout(v2)
repo$get()

# store binary attachements
repo$write(serialize(iris, NULL), "iris")
unserialize(repo$read("iris"))

# Create another repo
dir.create(newdir <- tempfile())
repo2 <- dat("cars", path = newdir, remote = repo$path())
repo2$forks()
repo2$get()

# Create a third repo
dir.create(newdir <- tempfile())
repo3 <- dat("cars", path = newdir, remote = repo$path())

# Sync 2 with 3 via remote (1)
repo2$insert(cars[31:40,])
repo2$push()
repo3$pull()

# Verify that repositories are in sync
mydata2 <- repo2$get()
mydata3 <- repo3$get()
stopifnot(all.equal(mydata2, mydata3))

ropensci/rdat documentation built on May 27, 2019, 5:33 p.m.