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.
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.
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.
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¶
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.
Added¶
- Gitutils clonegroup function allows users to clone into all projects of a existing group.
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.