/RepoM

👨‍💻 A minimal-conf git repository hub for Windows . This project is a fork of RepoZ

Primary LanguageC#MIT LicenseMIT

RepoM

Quality Gate Status Reliability Rating Coverage Lines of Code Code Smells Maintainability Rating Bugs

RepoM is a minimal-conf git repository hub. It uses the git repositories on your machine to create an efficient navigation widget and makes sure you'll never lose track of your work along the way.

It's populating itself as you work with git. It does not get in the way and only requires minimal effort to configure.

RepoM will not compete with your favourite git clients, so keep them. It's not about working within a repository: It's a new way to use all of your repositories to make your daily work easier.

If you recognise this introduction you might be right. RepoM is a fork of the popular RepoZ.

The Hub

The hub provides a quick overview of your repositories including their current branch, a short status information, and optionally some provided tags. Additionally, it offers some shortcuts like revealing a repository in the Windows Explorer, opening a command line tool in a given repository, checking out git branches and lots of other predefined or customizable actions.

Screenshot

If you are working on different git repositories throughout the day, you might find yourself wasting time by permanently switching over from one repository to another. If you are like me, you tend to keep all those windows open to be reused later, ending up on a window list which has to be looped through all the time.

With RepoM, you can instantly jump into a given repository with a file browser or command prompt. This is shown in the following gif.

Navigation

For Windows, use the hotkeys Ctrl+Alt+R to show RepoM.

Configuration

Context Menu

The main functionality of RepoM are the quick actions to execute per repository. For instance, you can quickly naviate to the repository by directly opening the windows explorer or by opening a command prompt. This context menu is user and repostirory specific and can be defined using yaml. This way, you can add an context menu item (action) for opening the repository in Visual Studio (for a C# project) and for an other repository you can add the action to open a repository in Eclipse.

To read more about the context menu, click here.

These actions are defined in the RepositoryActionsV2.yaml located in your %APPDATA%\RepoM\ folder. More information can be found in the docs folder.

Tagging

It is possible to dynamically assign tags to repositories such that you can filter, order, and search repositories using these tags. How to define and use tags is described in the Tags documentation.

Search

It is possible to filter or search for repositories using the search box at the top of RepoM. See the Search for more information.

Ordering and Filtering

The order of the repositories shown in RepoM is customizable. The default is alphabetical on the repository name. Read more about ordering here.

The repositories shown in RepoM are filtered using the search box in RepoM. But the default set can also be configured using different presets.

Global configuration

When RepoM starts for the first time, a configuration file wil be created. Most of the properties can be adjusted using the UI but, at this moment, one property must be altered manually. Read more over here.

Multi configuration

By default, RepoM stores all configuration files in %ADPPDATA%/RepoM. As a user you can alter this location to support multi configurations which might be useful for different working environments. Also, for development or debug purposes, this might be very useful.

To change the app settings location, you can

  • alter the appsettings.json file located in the same directory where the RepoM executable lives.

{
  "App": {
    "AppSettingsPath": "MyConfigJson"
  }
}

snippet source | anchor

  • start RepoM using the commandline argument --App:AppSettingsPath '<absolute or relative path here>'.
  • use environment variable REPOM_App__AppSettingsPath.

If none is set, the default will be used.

Plugins

RepoM uses plugins to extend functionality. At this moment, when a plugin is available in the installed directory, it will be found and can be enabled or disabled. This is done in the hamburger menu of RepoM. Enabling or disabling requires a restart of RepoM.

Credits

RepoM is a fork of RepoZ, which was created by Andreas Wäscher. RepoZ contains functionality that has been stripped in RepoM like supporting MacOS, releasing versions using chocolatey, the commandline sidekick (`grr``), and performing actions at multiple repostitories at once.