• Setting main as the default branch
  • Added option to specify the host ip to use. This makes is possible to use gitgadget with docker on ARM64 processors without requiring shiny-server
  • Updates to accommodate Shiny 1.7.1
  • Check if a user or ta file exists before loading
  • Fix to accommodate that GitLab now uses “/-/” in their profile URLs
  • Information provided through the “Introduce” was not being properly stored. Issue addressed in this release
  • By default, Create and Collect now Hide (i.e., remove permissions) the main repo that was forked for each student
  • Allow setting an alternative api server (e.g., selfhosted gitlab)
  • Fix for fork synch
  • Various updates to allow using gitgadget with shiny server
  • Warning if user tries to create a repo from the base git directory
  • Code base restructured
  • Added inst/app/app.R for use with shiny server
  • Set warn = FALSE for readLines
  • Permissions are now set at the repo/projects level, rather than at the group level
  • Both Create and Collect now have the option to Show (i.e., add permissions) or Hide (i.e., remove permissions) from a repo
  • Both Create and Collect now have the option load a csv file with TA information. TAs are added as “Maintainer” to the class repo. Also, TAs are added as a “maintainer” to all repos forked for students (or teams).
  • The Collect tab also an option to Hide and Show forks created for students or teams.
    to Show (i.e., add permissions) or Hide (i.e., remove permissions) from a repo
  • Fix to address that on Windows the global .gitconfig file may be put in the Documents folder
  • Added a Check button to the Introduce tab so you can easily check and edit the .Renviron and .Rprofile settings using usethis functions
  • Allow both the “Owner” and the “Maintainer” of a repo to create merge requests with Collect & Fetch
  • .gitignore file was not picked up if it already existed. Fixed in this release
  • Fix for generating ssh key with alternative name when .ssh/config does not yet exist
  • Enhancement for initial setup with SSH
  • Add .gitlab-ci.yml to avoid warning emails about CI pipelines
  • Collect and Fetch assignments using either HTTPS or SSH
  • Use ssh keys with GitLab
  • Option to provide GitLab or GitHub personal access tokens in Introduce
  • Create a repo on GitLab or GitHub in Create. usethis::use_github is used to create a repo on GitHub
  • Improved reporting when creating and forking repos
  • When credentials have not yet been stored in a keychain cloning (and creating) with throw an error in Rstudio (i.e., fatal: rpostback-askpass). If you start gitgadget to clone a repo it will switch to the terminal tab in Rstudio and insert a git clone command. That command will ask for credentials and clone the repo as requested. From then on, cloning and creating should work fine because credentials have been stored
  • Open project in new or existing session on clone
  • Open to remove local git repo, remote gitlab repo, and student forks after confirmation
  • Better error messages
  • Updated to work with V4 of the gitlab API
  • Added Check tokens button in Create tab. Button is shown when file with student tokens specified. All student tokens will then be checked on GitLab
  • Upgraded dplyr dependency to 0.7.1
  • Added commit, push, pull, and reset, to Sync tab
  • Added placeholders for text inputs
  • Added choose.dir script for mac
  • Update documentation
  • Added confirmation dialog for destructive commands (red buttons)
  • Added help button to gadget header
  • Specify user type in Introduction tab
  • Hide inputs in Collect tab from students
  • Option to remove multiple (student) branches in Branch tab
  • Remove option to use SSH
  • Local branches will now be updated if student MR was updated

Bug fixes

  • Fix for create_repo when group already exists
  • Updated links to source code and issue tracker
  • Export main functions
  • Avoid error when an account has multiple forks by picking the first
  • Specify specifically that merge requests should be Fetched
  • Improved regex for Rproj file creation on clone
  • Update branch list on collect and fetch
  • Get full remote origin list from .git/config

Features

  • Automatically replace any number of “\” by “/” in input file and directory paths
  • Added option to remove previous .git and remote repo before creating new local and remote repos