From 1c0fa0e2818a045bd39a39e81fbcfedb5bf70790 Mon Sep 17 00:00:00 2001 From: Thierry Onkelinx Date: Tue, 21 May 2019 10:25:54 +0200 Subject: [PATCH 1/5] bump package version --- DESCRIPTION | 2 +- codemeta.json | 28 ++++++++++++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index e9324c5..f5f818e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: git2rdata Title: Store and Retrieve Data.frames in a Git Repository -Version: 0.0.4 +Version: 0.0.5 Authors@R: c( person( "Thierry", "Onkelinx", role = c("aut", "cre"), diff --git a/codemeta.json b/codemeta.json index 1872de9..e45203f 100644 --- a/codemeta.json +++ b/codemeta.json @@ -1,5 +1,8 @@ { - "@context": ["https://doi.org/10.5063/schema/codemeta-2.0", "http://schema.org"], + "@context": [ + "https://doi.org/10.5063/schema/codemeta-2.0", + "http://schema.org" + ], "@type": "SoftwareSourceCode", "identifier": "git2rdata", "description": "Make versioning of data.frame easy and efficient using git repositories.", @@ -8,7 +11,7 @@ "relatedLink": "https://doi.org/10.5281/zenodo.1485309", "issueTracker": "https://github.com/inbo/git2rdata/issues", "license": "https://spdx.org/licenses/GPL-3.0", - "version": "0.0.4", + "version": "0.0.5", "programmingLanguage": { "@type": "ComputerLanguage", "name": "R", @@ -171,8 +174,21 @@ ], "releaseNotes": "https://github.com/inbo/git2rdata/blob/master/NEWS.md", "readme": "https://github.com/inbo/git2rdata/blob/master/README.md", - "fileSize": "347.568KB", - "contIntegration": ["https://travis-ci.org/inbo/git2rdata", "https://ci.appveyor.com/project/ThierryO/git2rdata/branch/master", "https://codecov.io/gh/inbo/git2rdata"], - "developmentStatus": ["https://www.repostatus.org/#active", "https://www.tidyverse.org/lifecycle/#maturing"], - "keywords": ["r", "rstats", "r-package", "version-control", "reproducible-research"] + "fileSize": "348.673KB", + "contIntegration": [ + "https://travis-ci.org/inbo/git2rdata", + "https://ci.appveyor.com/project/ThierryO/git2rdata/branch/master", + "https://codecov.io/gh/inbo/git2rdata" + ], + "developmentStatus": [ + "https://www.repostatus.org/#active", + "https://www.tidyverse.org/lifecycle/#maturing" + ], + "keywords": [ + "r", + "rstats", + "r-package", + "version-control", + "reproducible-research" + ] } From 4175dc9cc7e3b633b60aa7c7607c4266e577fc79 Mon Sep 17 00:00:00 2001 From: Thierry Onkelinx Date: Tue, 21 May 2019 10:59:39 +0200 Subject: [PATCH 2/5] add github badges --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2887919..d271921 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,18 @@ [![](https://badges.ropensci.org/263_status.svg)](https://github.com/ropensci/software-review/issues/263) [![Licence](https://img.shields.io/badge/licence-GPL--3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![minimal R version](https://img.shields.io/badge/R%3E%3D-3.4.0-6666ff.svg)](https://cran.r-project.org/) +[![minimal R version](https://img.shields.io/badge/R%3E%3D-3.5.0-6666ff.svg)](https://cran.r-project.org/) [![DOI](https://zenodo.org/badge/147685405.svg)](https://zenodo.org/badge/latestdoi/147685405) [![Travis-CI Build Status](https://travis-ci.org/inbo/git2rdata.svg?branch=master)](https://travis-ci.org/inbo/git2rdata) [![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/a3idhi9f6ls9xu8r/branch/master?svg=true)](https://ci.appveyor.com/project/ThierryO/git2rdata/branch/master) [![codecov](https://codecov.io/gh/inbo/git2rdata/branch/master/graph/badge.svg)](https://codecov.io/gh/inbo/git2rdata) +![GitHub forks](https://img.shields.io/github/forks/inbo/git2rdata.svg?style=social) +![GitHub stars](https://img.shields.io/github/stars/inbo/git2rdata.svg?style=social) +![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/inbo/git2rdata.svg) +![GitHub repo size](https://img.shields.io/github/repo-size/inbo/git2rdata.svg) +

Please visit the git2rdata website at https://inbo.github.io/git2rdata/. The vignette code on the website link to a rendered version of the vignette. Functions have a link to their help file.

## Rationale From a43c35ca03d51487030f0530296b8a8432abe991 Mon Sep 17 00:00:00 2001 From: Thierry Onkelinx Date: Tue, 21 May 2019 11:05:27 +0200 Subject: [PATCH 3/5] upgrade_data() preserves the order of the metadata --- NEWS.md | 5 +++++ R/upgrade_data.R | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index b95a2fe..8736d97 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,8 @@ +git2rdata 0.0.5 (2019-05-21) +============================ + + * `upgrade_data()` uses the same order of the metadata as `write_vc()`. + git2rdata 0.0.4 (2019-05-16) ============================ diff --git a/R/upgrade_data.R b/R/upgrade_data.R index 333b59d..ec99d71 100644 --- a/R/upgrade_data.R +++ b/R/upgrade_data.R @@ -80,13 +80,16 @@ upgrade_data.character <- function( } return(target) } + meta_data[["..generic"]][["git2rdata"]] <- NULL } assert_that( meta_data[["..generic"]][["hash"]] == metadata_hash(meta_data), msg = paste(target, "has corrupt metadata: mismatching hash.") ) - meta_data[["..generic"]][["git2rdata"]] <- - as.character(packageVersion("git2rdata")) + meta_data[["..generic"]] <- c( + git2rdata = as.character(packageVersion("git2rdata")), + meta_data[["..generic"]] + ) if (!has_name(meta_data[["..generic"]], "data_hash")) { meta_data[["..generic"]][["data_hash"]] <- hashfile(file["raw_file"]) } From 9712652827077042c751df6fb53b7fb9c964fdc4 Mon Sep 17 00:00:00 2001 From: Thierry Onkelinx Date: Tue, 21 May 2019 11:55:34 +0200 Subject: [PATCH 4/5] add inbo logo to sticker --- man/figures/logo.png | Bin 11869 -> 18286 bytes sticker/sticker.R | 12 ++++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/man/figures/logo.png b/man/figures/logo.png index 7ad1e5799340a970e31ac94a1e97a5563b9da125..9f56815a001660ce461b45b0175bb6b5d88fbf12 100644 GIT binary patch literal 18286 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 JPDHLkV1gmgMgIT* literal 11869 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 diff --git a/sticker/sticker.R b/sticker/sticker.R index 8b3b42b..609d839 100644 --- a/sticker/sticker.R +++ b/sticker/sticker.R @@ -1,5 +1,11 @@ library(tidyverse) +library(magick) library(cowplot) +transparent <- TRUE +image_read("../man/figures/logo_en.png") %>% + image_rotate(30) %>% + image_transparent(color = ifelse(transparent, "white", "black")) %>% + image_write("inbo.png") scale <- 1 dx <- 1 dy <- sqrt(2) @@ -58,7 +64,7 @@ hexagon <- tibble( y = range * sin(angle) ) %>% ggplot(aes(x = x, y = y)) + - geom_polygon(fill = NA, colour = git_colour, size = 3) + + geom_polygon(fill = NA, colour = git_colour, size = 3 * scale) + coord_fixed() + theme_void() @@ -79,6 +85,7 @@ df <- crossing( coord_fixed(1/2) + theme_void() sticker <- ggdraw() + + draw_image("inbo.png", x = -0.2, y = -0.28, scale = 0.45) + draw_plot(hexagon) + draw_label( "git2rdata", x = 0.5, y = 0.8, @@ -102,5 +109,6 @@ save_plot( base_height = scale * 278 / 72, base_width = scale * 240 / 72, dpi = 72, - bg = NA + bg = ifelse(transparent, NA, "white") ) +file.remove("inbo.png") From 2d2d3b8e46583b079d2a68b7e00816c186cf237e Mon Sep 17 00:00:00 2001 From: Thierry Onkelinx Date: Tue, 28 May 2019 10:08:40 +0200 Subject: [PATCH 5/5] add missing unit test --- tests/testthat/test_e_upgrade.R | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/testthat/test_e_upgrade.R b/tests/testthat/test_e_upgrade.R index 1d9817f..887bb4c 100644 --- a/tests/testthat/test_e_upgrade.R +++ b/tests/testthat/test_e_upgrade.R @@ -52,6 +52,13 @@ test_that("upgrade_data() validates metadata", { correct_yaml <- yaml::read_yaml(file.path(root, junk[2])) junk_yaml <- correct_yaml + junk_yaml[["..generic"]][["git2rdata"]] <- "0.0.4" + yaml::write_yaml(junk_yaml, file.path(root, junk[2])) + expect_identical( + unname(upgrade_data(file = file, root = root)), + file + ) + junk_yaml <- correct_yaml junk_yaml[["..generic"]][["git2rdata"]] <- NULL junk_yaml[["test_Date"]] <- NULL yaml::write_yaml(junk_yaml, file.path(root, junk[2]))