git-aliases-f18

Automatically configure Git alias commands with this Fortran 2018 application.

https://github.com/kevinmatthes/git-aliases-f18

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.6%) to scientific vocabulary

Keywords from Contributors

standardization meshing argument-parser pipeline-testing datacleaner data-profilers interpretability pinn pde ode
Last synced: 8 months ago · JSON representation ·

Repository

Automatically configure Git alias commands with this Fortran 2018 application.

Basic Info
  • Host: GitHub
  • Owner: kevinmatthes
  • License: gpl-3.0
  • Language: Fortran
  • Default Branch: main
  • Size: 488 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 2
  • Releases: 7
Created over 3 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog License Citation

README.md

git-aliases-f18

Summary

Automatically configure Git alias commands with this Fortran 2018 application.

  1. License
  2. Software Requirements
  3. Description
  4. Build

License

This project's license is GPL-3.0. The whole license text can be found in LICENSE in the main directory of this repository. The brief version is as follows:

Copyright (C) 2022 Kevin Matthes

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Software Requirements

| Requirement | Type | Role | |:------------------|:-------------:|:--------------------------------------| | Doxygen | application | source code documentation | | G++ | application | C++11 compiler | | GCC | application | C99 compiler | | GFortran | application | Fortran 2018 compiler | | Git | application | application to configure | | Just | Rust binary | execution of the build instructions | | Latexmk | application | LaTeX compilation of Doxygen manual | | TeX Live (full) | package | LaTeX environment for Doxygen manual | | Valgrind | application | memory leak detection |

This project is written in Fortran 2018 such that its build requires a compiler supporting this standard. This project relies on GFortran therefore. The business logic also has C and C++ bindings which can be compiled to a C99 and C++11 version using GCC and G++, respectively.

The purpose of this application is to configure alias commands for Git. Thus, an installation of Git needs to be ensured. Furthermore, Git is employed to remove the build artifacts upon request.

The build is organised with Just. The corresponding .justfile does not only take care for the compilation of the applications but also for their documentation and testing.

The documentation is generated by Doxygen. The configured output formats are listed in the following.

  • HTML
  • LaTeX
  • UNIX manual pages

In order to finalise the LaTeX documentation, an appropriate LaTeX distribution is required. A full installation of TeX Live is recommended. This project employs Latexmk as LaTeX build manager for the manual finalisation.

The memory management of the compiled applications is analysed by Valgrind upon request.

Description

This repository contains the source code of an application named git-aliases. When compiled, it will configure the hard coded Git alias commands. A common use case of this application is hence the initialisation of Git in a new user account.

git-aliases can be freely expanded with further commands. Furthermore, this tool can be integrated into Git, at option. Due to its naming convention, Git will consider all applications prefixed with git- associated commands. See the book by Chacon and Straub for details.

When calling the application, it will show some default information about itself in the first five lines. These information are about the application's name and version as well as the copyright information. After three empty lines, a table will follow with information about the commands configured by this application. On the left-hand side, there are the names of the aliases listed, whereas on the right-hand side, there is a short description about what this alias command is supposed to do. The writing of a line indicates that the respective alias was configured successfully.

Build

The build routine is organised by Just and defined in the .justfile in the repository root. To build the applications, one of the following instructions can be executed.

bash just b just build

In addition, an automatic source code documentation with Doxygen is configured. One of the following commands will invoke the compilation.

bash just d just doxygen

The correctness of the applications' memory management is ensured by Valgrind. The following instructions are synonymous for calling the memory management analysis.

bash just v just valgrind

If the compilation of both the applications and their documentation is wished, the following instructions can be executed. This will also invoke the memory management analysis.

bash just just a just all

Owner

  • Name: Kevin Matthes
  • Login: kevinmatthes
  • Kind: user

Citation (CITATION.cff)

######################## GNU General Public License 3.0 ########################
##                                                                            ##
## Copyright (C) 2022 Kevin Matthes                                           ##
##                                                                            ##
## This program is free software: you can redistribute it and/or modify       ##
## it under the terms of the GNU General Public License as published by       ##
## the Free Software Foundation, either version 3 of the License, or          ##
## (at your option) any later version.                                        ##
##                                                                            ##
## This program is distributed in the hope that it will be useful,            ##
## but WITHOUT ANY WARRANTY; without even the implied warranty of             ##
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              ##
## GNU General Public License for more details.                               ##
##                                                                            ##
## You should have received a copy of the GNU General Public License          ##
## along with this program.  If not, see <https://www.gnu.org/licenses/>.     ##
##                                                                            ##
################################################################################

################################################################################
##
##  AUTHOR      Kevin Matthes
##  BRIEF       Citation settings for the Git repository.
##  COPYRIGHT   GPL-3.0
##  DATE        2022
##  FILE        CITATION.cff
##  NOTE        See `LICENSE' for full license.
##              See `README.md' for project details.
##
################################################################################

# Parser settings.
cff-version: 1.2.0
message: Please cite this software using these meta data.

# Version information.
date-released: 2022-12-25
version: 0.1.5

# Project information.
abstract: >-
  Automatically configure Git alias commands with this Fortran 2018 application.
authors:
  - alias: kevinmatthes
    family-names: Matthes
    given-names: Kevin
license: GPL-3.0
repository-code: https://github.com/kevinmatthes/git-aliases-f18
title: git-aliases-f18
url: https://github.com/kevinmatthes/git-aliases-f18

# References.
references:
  - abstract: Everything you need to know about Git.
    authors:
      - family-names: Chacon
        given-names: Scott
      - family-names: Straub
        given-names: Ben
    edition: '2'
    isbn: 978-1-4842-0077-3
    languages:
      - en
    pages: 426
    publisher:
      city: New York
      country: US
      name: Apress
    title: Pro Git
    type: book
    year: 2014
  - authors:
      - family-names: Chivers
        given-names: Ian
      - family-names: Sleightholme
        given-names: Jane
    doi: 10.1007/978-3-319-75502-1
    edition: '4'
    isbn: 978-3-030-09248-1
    languages:
      - en
    pages: 956
    publisher:
      city: Cham
      country: CH
      name: Springer
    title: Introduction to Programming with Fortran
    type: book
    year: 2018
  - authors:
      - family-names: Kühme
        given-names: Thomas
      - family-names: Witschital
        given-names: Peter
    edition: '3'
    isbn: 978-3-486-22016-2
    languages:
      - de
    pages: 248
    publisher:
      city: Munich
      country: DE
      name: Oldenbourg
    title: Die FORTRAN-Fibel
    type: book
    year: 1991
  - abstract: Incorporating Fortran 2018
    authors:
      - family-names: Metcalf
        given-names: Michael
      - family-names: Reid
        given-names: John
      - family-names: Cohen
        given-names: Malcolm
    doi: 10.1093/oso/9780198811886.001.0001
    edition: '2'
    isbn: 978-0-19-881188-6
    languages:
      - en
    pages: 522
    publisher:
      city: Oxford
      country: GB
      name: Oxford University Press
    title: Modern Fortran Explained
    type: book
    year: 2018

################################################################################

GitHub Events

Total
  • Delete event: 4
  • Issue comment event: 1
  • Push event: 4
  • Pull request event: 12
  • Pull request review event: 4
  • Create event: 7
Last Year
  • Delete event: 4
  • Issue comment event: 1
  • Push event: 4
  • Pull request event: 12
  • Pull request review event: 4
  • Create event: 7

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 175
  • Total Committers: 3
  • Avg Commits per committer: 58.333
  • Development Distribution Score (DDS): 0.463
Past Year
  • Commits: 9
  • Committers: 1
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Kevin Matthes 9****s 94
dependabot[bot] 4****] 78
Kevin Matthes 4****] 3

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 13
  • Total pull requests: 99
  • Average time to close issues: 8 days
  • Average time to close pull requests: about 24 hours
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.08
  • Average comments per pull request: 0.16
  • Merged pull requests: 91
  • Bot issues: 0
  • Bot pull requests: 21
Past Year
  • Issues: 0
  • Pull requests: 12
  • Average time to close issues: N/A
  • Average time to close pull requests: 9 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.17
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 12
Top Authors
Issue Authors
  • kevinmatthes (13)
Pull Request Authors
  • kevinmatthes (77)
  • dependabot[bot] (45)
Top Labels
Issue Labels
enhancement (5) maintenance (4) bug (3) wontfix (1) documentation (1) invalid (1)
Pull Request Labels
dependencies (44) enhancement (32) bug (26) github_actions (26) submodules (17) maintenance (11) documentation (8) python (1)

Dependencies

.github/workflows/bump2version.yml actions
  • actions/checkout v3.3.0 composite
  • actions/setup-python v4.5.0 composite
  • extractions/setup-just v1.6.0 composite
  • py-actions/py-dependency-install v4.0.0 composite
.github/workflows/cffconvert.yml actions
  • actions/checkout v3.3.0 composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
.github/workflows/release.yml actions
  • actions/checkout v3.3.0 composite
  • actions/setup-python v4.5.0 composite
  • ad-m/github-push-action v0.6.0 composite
  • extractions/setup-just v1.6.0 composite
  • fregante/setup-git-user v1.1.0 composite
  • kevinmatthes/cff-release-today v0.2.1 composite
  • py-actions/py-dependency-install v4.0.0 composite
.github/workflows/scriv.yml actions
  • actions/checkout v3.3.0 composite
  • actions/setup-python v4.5.0 composite
  • ad-m/github-push-action v0.6.0 composite
  • fregante/setup-git-user v1.1.0 composite
  • py-actions/py-dependency-install v4.0.0 composite
.github/workflows/valgrind.yml actions
  • actions/checkout v3.3.0 composite
  • extractions/setup-just v1.6.0 composite
requirements.txt pypi
  • bump2version ==1.0.1
  • scriv ==1.0.0