Changelog

All notable changes to gitutils projecct will be documented in this file.

[1.1.5] 2022-06.01

Added

  • Merge cmd new parameters source_branch and destination_branch, allows to work not only with master branches but with a user’s specified branch. (default: master)

[1.1.4] 2021-08-17

Added

  • Clonegroup’s new parameter to define which url should be used for cloning the projects. http_url or url

Removed

  • Find tests from the behavior tests because of the time that it consumes.

[1.1.3] 2021-05-18

Added

  • Clonegroup command accepts pattern to filter by name in the repositories of the specified group.

Fixed

  • Shows help when no command is used.

[1.1.2] 2021-04-29

Changed

  • Merge allows fork from projects with different repository names.
  • Improvements on the fork verbose mode.

Added

  • Find verbose mode.
  • Merge verbose mode.
  • Behavior test find command.

Fixed

  • Unnecessary confirmation to delete personal fork.
  • bugfix (403 forbidden) when retrieving branches inside private projects using gitutils find command.

Removed

  • Cleanup of unused functions and unit tests.

[1.1.1] 2021-04-23

Added

  • Initial implementation of verbosity mode using -v to facilitate debug sessions.

Changed

  • Fork command ignores -c command if a personal fork project is not found (behavior of v1.0.X)

[1.1.0] - 2021-04-22

Added

  • Functional tests Check gitutils/tests/gitutils_cmds.py for details.

Changed

  • Complete gitutils restructure. Each command is now divided into its own python file for easy maintenance and implementation of new functionalities.
  • Fork command requires the parameter in the format group_name/project name. Previously used: https://git.psi.ch/<group_name>/<project_name> and <project_name> are deprecated.
  • Fork command only forks into personal space and the removal using the clause -c is not treated on gitutils but directly with git message if not possible.

[1.0.21] - 2020-11-27

Added

  • addldap feature: Add a ldap group user to a group (or multiple).
  • setrole feature: Sets the role for a specific user on a specific group or project (or multiple).

Changed

  • optional flag -p when using the find command to specify search on file names only (and not include the content of files on the search).

Fixed

  • Bugfix: verifying if projects were existing and not accessible.
  • Bugfix: search for groups/projects was not consistent because of pagination (returning different lists every time).

[1.0.20] - 2020-11-13

Changed

  • Alphabetic order of the commands and the functions in the code.
  • Readme instructions

Added

  • creategroups and createprojects commands allowing to do bulk operations with groups and projects.

Removed

  • Search and grep commands.

[1.0.19] - 2020-11-13

Added

  • Find function allows to do a general search for terms within groups and projects.

Changed

  • Search and grep commands are now deprecated (the new find command replaces both).

[1.0.18] - 2020-07-29

Added

  • Publish conda package automatically directly using github actions after a new release.
  • Python lint verification (flake8) using github actions.

Changed

  • Improved readme with badges and minor improvements in python format files.

[1.0.17] - 2020-05-20

Changed

  • bugfix when fetching an empty project.

[1.0.15] - 2020-04-09

Added

  • Gitutils search allows users to search for a specific filenames inside the projects of a group.
  • Gitutils grep allows users to search for specific filenames and terms inside a specific project.

Changed

  • Improved readme with the instructions for the new commands.

[1.0.14] - 2020-04-03

Added

  • Gitutils clonegroup function allows users to clone into all projects of a existing group.

Changed

  • Improved readme with new command and new help messages.

[1.0.12] - 2020-01-06

Added

  • Gitutils login function allow users to retrieve the token without any related gitutils function.

Changed

  • Increased sleep time after deletion of project because the server wasn’t processing it in time.

[1.0.10] - 2019-12-20

Changed

  • Gitutils now uses SSH to perform git commands. HTTP has issues due to security/access.

[1.0.2] - 2019-12-06

Added

  • New parameter on the fork command. -g indicates the group/namespace that the fork will be created. Permissions to do operations in different groups are needed.

Changed

  • Username and password are now appropriately url encoded by using urllib.parse.quote.
  • Python-Gitlab method returns only 20 items per search. Fixed by additions parameter all=True in all retrieval of projects or groups.

[1.0.1] - 2019-09-13

Added

  • First release of the gitutils library.
  • Gitutils implements fork and merge (server-side) functions using oauth2 authentication.
  • Usage of Python-Gitlab library instead of gitlab api.
  • Gitutils recovers from an invalid token (fetched from .gitutils_token) by requesting username and password again.
  • Gitutils offers a readthedocs documentation.
  • gitutils argument ‘-e’ to indicate a different repository endpoint.
  • fork argument ‘project’ is a positional required argument.
  • fork argument ‘-c’ to clean existing forks or local folders.
  • fork argument ‘-n’ to not clone into forked repository.
  • Allow merge argumentless possibility when executing from within the repository’s folder.
  • Merge allows project indication without the usage of the ‘-p’ flag. Project can also be a positional argument.
  • When forking a project that is exists in multiple groups, a list of the groups is displayed.
  • Unit tests.
  • Oauth2 token saved on user’s home directory file ‘.gitutils_token’.
  • Merge allows possibility to define project, title and description. If merge command is executed inside the forked repository’s folder, gitutils detects it and does not need the ‘-p’ argument to indicate the project.

Note

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.