Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sonnyp/commit

Commit message editor
https://github.com/sonnyp/commit

desktop flatpak git gjs gnome gnome-circle gtk gtksourceview hg libspelling linux linux-app mercurial scm

Last synced: 1 day ago
JSON representation

Commit message editor

Awesome Lists containing this project

README

        

# Commit

Commit is an editor that helps you write better Git and Mercurial commit messages.

![screenshot](data/screenshots/editor.png)

https://apps.gnome.org/Commit

Download on Flathub

## Installation

[Setup flatpak](https://flatpak.org/setup/) then

```sh
flatpak install re.sonny.Commit
flatpak run re.sonny.Commit # Follow instructions
```

## Tips and trick

### Emojis

right-click ➞ Insert Emoji or use the shortcut _Ctrl+._ 🎉️
The Emoji picker works in any GNOME app 👣️

### Open Commit in the center of the screen

On GNOME you can make all new windows open in the center using

```sh
gsettings set org.gnome.mutter center-new-windows true
```

See https://gitlab.gnome.org/GNOME/mutter/-/issues/246

or set and use the move-to-center keybinding

```sh
gsettings set org.gnome.desktop.wm.keybindings move-to-center "['Space']"
```

## Translation

If you'd like to help translating Commit into your language, please head over to [Weblate](https://hosted.weblate.org/engage/commit/).


Translation status

Thank you for your help!

## Development

```sh
cd Commit
git submodule update --init --recursive
./src/local.js --readonly test/fixtures/with-body/COMMIT_EDITMSG
```

Make changes and hit `Ctrl+Shift+Q` on the Commit window to restart it.

To pass the tests you have to install a few dependencies

```
# Install development dependencies
sudo dnf install --assumeyes npm flatpak make desktop-file-utils gjs gtk4-devel libadwaita
npm install
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user --assumeyes --noninteractive flathub org.freedesktop.appstream-glib

# Run tests
make test
```

Flathub builds https://flathub.org/builds/#/apps/re.sonny.Commit

## Maintainer

i18n

```sh
# To update the pot file
# xgettext -f po/POTFILES -o po/re.sonny.Commit.pot --no-wrap -cTRANSLATORS --from-code=UTF-8
# sed -i "s/Project-Id-Version: PACKAGE VERSION/Project-Id-Version: re.sonny.Commit/" po/re.sonny.Commit.pot
meson compile re.sonny.Commit-pot -C _build

# To create a translation
# msginit -i po/re.sonny.Commit.pot -o po/fr.po -l fr_FR.UTF-8
echo -n " fr" >> po/LINGUAS
meson compile re.sonny.Commit-update-po -C _build

# To update translations
# msgmerge -U po/*.po po/re.sonny.Commit.pot
meson compile re.sonny.Commit-update-po -C _build
```

See https://github.com/sonnyp/Commit/pull/14#issuecomment-894070878

Publish new version

- `meson compile re.sonny.Commit-update-po -C _build`
- Update version in `meson.build`
- git tag
- flathub

## Building

host

```sh
cd Commit
meson --prefix $PWD/install build
ninja -C build install
```

Flatpak

Use [GNOME Builder](https://wiki.gnome.org/Apps/Builder) or

```sh
cd Commit
flatpak-builder --user --force-clean --repo=repo --install-deps-from=flathub flatpak re.sonny.Commit.json
flatpak --user remote-add --no-gpg-verify --if-not-exists Commit repo
flatpak --user install --reinstall --assumeyes Commit re.sonny.Commit
```

## Credits

Commit is a fork of [Gnomit](https://github.com/small-tech/gnomit/) wich was inspired by [Komet](https://github.com/zorgiepoo/Komet).

Many thanks to its original author [Aral Balkan](https://ar.al) of [Small Technology Foundation](https://small-tech.org).

### Contributors

- [Aral Balkan](https://ar.al)
- [Sergey Bugaev](https://floss.social/@bugaevc)
- [Sonny Piers](https://github.com/sonnyp)
- [Tobias Bernard](https://tobiasbernard.com/)
- [Christopher Davis](https://social.libre.fi/brainblasted)

## Copyright

- © 2020-2022 [Sonny Piers](https://github.com/sonnyp)
- © 2018-2020 [Aral Balkan](https://ar.al), [Small Technology Foundation](https://small-tech.org)

## License

GPLv3 or later. Please see [COPYING](COPYING) file.