Repository navigation
Releases: bodynar/mas-gitlabutility
Release list
v2.0
Changelog
New Features
-
Added Russian localization. The application language is determined by the selected installer.
-
Added project view modes for use in operations
- Added dark theme
The toggle is located under the menu
- For operations involving branches, the ability to select specific branches from a predefined set has been added
- Added parameter highlighting and validation before executing an operation
-
Added tooltips for some UI elements (on hover)
-
Added the ability to clear "empty" sessions (sessions with no notifications or results)
-
Added operation progress indicator in the taskbar when the app is minimized
This feature can be disabled in the app settings
Changes to Existing Functionality
- Fixed a bug that allowed the application window to be scrolled during an ongoing operation/loading
- Adjusted field headers, including those in application settings
- Fixed a bug where the selected session was reset when opening a result card
- Fixed a bug in the version tag shift operation
- Improved display of the copy button for results presented as a list
- Fixed a bug where an incorrect result card was opened when accessing different results for the same action under different operations from the notifications panel
- Reworked the logging system to fix an issue where log files from the previous session could not be opened if they were from a different day
- Improved visual presentation of the menu
- Fixed typos and other minor issues
Translated via chat-gpt
Linux versions
To install the application on Linux:
- Download the source code of the current release
- Install dependencies using
npm ci - Run one of the following commands:
npm run make -- --app-locale='en' --platform linux– for English localizationnpm run make -- --app-locale='ru' --platform linux– for Russian localization
Alternatively, you can build the application using the preconfigured Docker image:
dolphincreatiodev/electron-win32-maker:latest
v1.1
Release v1.0.5
! NOTE
Screenshots for the instructions were taken at different stages of development, so functionality not described in a specific section may not match the final version.
Description
The repository management utility is designed to perform standard operations across multiple repositories. The following operations are supported:
- Directed branch merging (upstream\downstream) from a provided set.
- Release merging (merging from test to master with version tagging).
- Shifting the version tag to the latest commit in the master branch (including creating it).
- Creating a new branch.
- Checking for changes between two branches.
- Finding tags that are not on the latest commit in the master branch.
Usage Requirements
For branch merging operations, you need permissions to merge into the selected branch.
Initial Setup
Before using the utility, you need to generate a personal token, which will be used to perform operations.
The token is created in your GitLab profile (official documentation), and the token configuration is shown in the screenshot.
It is not recommended to create a token with an infinite expiration date. Set the expiration to six months or a year.
After creation, the token will be displayed on the page. You must save it, as it will not be possible to retrieve it again in the future (as mentioned in the field's hint).
Usage
Initial Setup
When the utility is launched for the first time, the settings page will open.

You need to switch it to edit mode by clicking the pencil icon button, fill in the GitLab token field (which was created earlier) as shown in the example below, and save the form.
After saving, the token and address will be validated. If the validation fails, an error will be displayed in the top right corner of the application.
Upon successful validation, the available groups will be loaded (3rd block on the application settings page). From this list, you need to select the groups on which actions will be performed (see the list of functions above). Repositories nested within the selected groups will be loaded automatically.
Page Descriptions
The application has 5 pages, accessible from the left menu block.

Results
This page will display the results of operations performed during a single application run.

Each entry in the list has an icon indicating the operation status, which you can hover over for an explanation.

Each log entry can be opened to view additional information about the operation.

The set of fields and display components varies depending on the type of operation performed, but a highlighted set of fields is presented for all operation types.
Notifications
This page serves as a log of the application's notification history.

If a notification contains a link to a page, it will also be clickable from this list.
Settings
The application settings page consists of three sections:

- Connection to the GitLab server (covered in the "Initial Setup" section above).
- Templates for operations, including templates for tag names, MRs, and MR releases. These can be customized if necessary, but using the standard templates is recommended.
- Favorite groups – groups used for operations. To ensure the application functions correctly, at least one group must be selected.
Templates for operations aka Actions configuration (templates)
This section configures templates for header fields used in operations.

- Tag Template allows setting a default value, which will be used in actions 2, 3, and 5. When selecting these actions, the value from this settings field will automatically populate the operation configuration field.
- Stream Merge Template allows setting the MR name when merging branches in action 1. The template supports two parameters:
0– the name of the branch being merged (from).1– the name of the target branch (to).
- Release Merge Template allows setting the MR name when merging branches in action 2. The template supports one parameter:
- The release version number.
Session history
The session history page. A session is created from the moment the application starts until it is closed.
It provides information about the current session and previous sessions.

You can view data from previous sessions on specific pages (e.g., Results).
If needed, session history can be cleared, which will remove all information about past sessions.
Main
The main page of the application. After initial setup, this page will automatically be displayed first when the application is opened.
The page contains a dropdown action menu, an action configuration block (hidden in the screenshot), and a tree-structured repository selection list.

The project (repository) selection block for performing operations includes a field for filtering repositories by name.
Additionally, when selecting an operation, three controls appear:
- "Select all" button
- "Deselect all" button
- A checkbox to remember the selected set of repositories
When the checkbox is enabled, the selected projects will not be reset when navigating between pages.
Next, each operation available in the dropdown menu is described.

After selecting an action from the menu, a button labeled "Execute" appears on the right, which performs the selected operation.
Once the action parameters are configured and repositories are selected, the button becomes available.
After executing an operation, the result will be displayed as a popup notification in the top right corner of the application and recorded on the results page.
Operations
Operations marked with a blue pencil icon make changes in GitLab, so all parameters should be carefully reviewed before executing them.
Operations marked with a book icon are read-only and do not modify anything in GitLab.

-
Merge branches
This operation allows bulk merging of branches. The merge is performed in two steps: creating an MR and merging the MR.Operation parameters:
- MR name (uses the value from the template), with selected branches inserted if applicable.
- Specification of branches (which branch to merge into which).

After configuring the parameters and selecting repositories for the operation, click the execution button.
If the merge is non-standard (e.g.,
master→develop) or targets themasterbranch, an additional checkbox appears to confirm the action, preventing execution until checked.

-
Make a release
This operation merges thetestbranch into themasterbranch and, depending on the parameters, can assign a specified tag to the merge commit.

-
Move tag on master branch to latest commit
This operation finds tags with the specified name that are not on the latest commit in themasterbranch and moves them to the latest commit.Additionally, if the checkbox is selected, a new tag can be created on the latest commit in the
masterbranch.

-
Create a new branch
This operation creates a new branch in the selected repositories, branching off from the specified base branch.

-
Check diff between branches
This operation checks for differences between the specified branches.

-
Find tags not on the latest commit in the master branch
This operation finds tags with the specified name that are not on the latest commit in themasterbranch.

Operations 6 and 3 use the same mechanism for detecting "outdated" tags.
Translated via chat-gpt