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

https://github.com/a-khakimov/github-client

Простая консольная утилита для отображения информации о репозитории и списка коммитов.
https://github.com/a-khakimov/github-client

cpp github-api http-client

Last synced: 6 months ago
JSON representation

Простая консольная утилита для отображения информации о репозитории и списка коммитов.

Awesome Lists containing this project

README

          

# github-client

Простая консольная утилита для отображения информации о репозитории и списка коммитов.

## Зависимости

* [libcurl](https://github.com/curl/curl)
* [nlohmann-json](https://github.com/nlohmann/json)

## Сборка

### Linux (Ubuntu)

#### Установка зависимостей

```bash
$ apt install -y nlohmann-json-dev
$ apt install libcurl4-openssl-dev
```

#### Сборка

```bash
$ make
```

### Windows (msys)

#### Установка зависимостей

```
# pacman -S libcurl-devel
# pacman -S mingw-w64-x86_64-nlohmann-json
```

#### Сборка

`INC=-I/mingw64/include` - путь к `nlohmann/json.hpp`.

```
# INC=-I/mingw64/include make
```

## Запуск

Usage-сообщение:

```bash
$ ./github-client -h
Usage:
./github-client
Arguments:
-h Help
-r
-o
-c Print commits for last [day]|[week]|[month]
-i Print repo information
```

Информация о репозитории:

```bash
$ ./github-client -o curl -r curl -i
Full name: curl/curl
Homepage: https://curl.haxx.se/
Url: git://github.com/curl/curl.git
Languages: C
Created: 2010-03-18T22:32:22Z
Updated: 2020-09-07T16:03:23Z
Description: A command line tool and library for transferring data with URL syntax,
supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP,
LDAPS, MQTT, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful features
```

Список коммитов за неделю:

```bash
$ ./github-client -o curl -r curl -c week
--------------- Commits -------------------
Date Author Message
2020-09-07T14:20:16Z Daniel Stenberg [ openssl: consider ALERT_CERTIFICATE_EXPI ... ]
2020-09-07T15:08:07Z Daniel Stenberg [ FAQ: refreshed some very old language ... ]
2020-09-07T09:08:35Z Daniel Stenberg [ cmake: make HTTP_ONLY also disable MQTT ... ]
2020-09-07T08:46:55Z Daniel Stenberg [ libtest: remove lib1541 leftoversCausese ... ]
2020-09-07T08:29:40Z Daniel Stenberg [ tests/libtests: remove test 1900 and 203 ... ]
2020-09-06T19:27:41Z Marc Hoersken [ CI/azure: add test number to title for d ... ]
....
--------------- Commits -------------------
```

# TODO-list

* [ ] Тесты!!!
* [ ] Возможность выбирать ветку
* [ ] Отображение списка веток
* [ ] Отображение списка issues
* [ ] Отображение списка pull requests