Skip to content

Version 0.12 beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@achilleas-k achilleas-k released this 20 Dec 15:06
· 795 commits to master since this release

This is a beta release

This release introduces some new features as well as a completely rewritten output interface. There are some issues to be expected with the new output. See the Known issues section below for details.

It is not recommended to use this version for work, but you may use it for testing the new features.

New features and changes

  • Create repository out of current directory
    • gin create --here will create a new repository on the remote server and initialise the current working directory with the appropriate remotes and annex configuration.
  • JSON output: Most commands now support the --json flag for JSON formatted output.
  • The location for configuration files has changed on all platforms. Platform specific locations are now used. On first run, the client looks for files in the old configuration directories and transfers them to the new location if necessary.
  • If a command requires login and the user is not logged in, instead of simply printing an informative message, the user is prompted for login (unless --json is specified).
  • Local (in-repo) config file can only be used to specify annex selection. In other words, only the annex.minsize and annex.excludes is used. All other options are read from the global and default configurations.
  • The local (in-repo) configuration file is never checked into annex, regardless of annex minsize rules.

File operation and file transfer progress output

  • File operations such as lock, unlock, and remove-content now provide per-file output on whether the operation was successful or not. The output prints per line as the operation finishes for each file.
  • File transfers during upload, download, and get-content show transfer rates and percentage complete.
  • gin upload without an argument no longer warns about the lack of file specification. Previously the warning was meant to inform the user that changes (metadata) are uploaded but no new files. The behaviour of the command (what is updated in the index and what is uploaded) is now clear due to the output progress and success or failure messages printed by the command and the warning message would probably lead to confusion. Note also that the behaviour of the command has changed slightly. New content will be uploaded for files that are already being tracked.

Bug fixes

  • More flexible version checking for git-annex: Handles more types of version string formats.

Relevant PRs

  • #120: gin create --here
  • #123: File transfer progress output
  • #124: Fix for version check
  • #126: JSON output for gin ls
  • #127: Bug fix for file locking when performing download
  • #131: Bug fixes for Windows and file query routines
  • #135: Platform-specific config and log directories
  • #137: Bug fixes and login prompt
  • #141: Local config changes: Only annex filtering

Known issues

  • Some error conditions are not reported properly. In these cases, a command may fail with "unknown error" or in worse cases, appear to succeed without providing information about failure.
    • It is known that the latter will occur when performing an upload while there are changes on the server that have not been downloaded. The command will add/lock all local files, will not upload any content, and exit successfully. The occurrence of this can be determined by the lack of upload progress.
  • Errors are printed in some cases where it is not necessary. For example, when trying to unlock a directory with files that have no content, it would be more appropriate to inform the user that the content is unavailable, rather than showing an actual ERROR.