Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/olekscode/clio
A tool for exploring the history of a project (e.g. getting API entities that were available at a given commit)
https://github.com/olekscode/clio
pharo
Last synced: 7 days ago
JSON representation
A tool for exploring the history of a project (e.g. getting API entities that were available at a given commit)
- Host: GitHub
- URL: https://github.com/olekscode/clio
- Owner: olekscode
- License: mit
- Created: 2020-10-20T11:59:08.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-03-22T15:21:00.000Z (almost 3 years ago)
- Last Synced: 2024-10-31T06:42:03.291Z (about 2 months ago)
- Topics: pharo
- Language: Smalltalk
- Homepage:
- Size: 299 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Clio
[![Build status](https://github.com/olekscode/Clio/workflows/CI/badge.svg)](https://github.com/olekscode/Clio/actions/workflows/test.yml)
[![Coverage Status](https://coveralls.io/repos/github/olekscode/Clio/badge.svg?branch=master)](https://coveralls.io/github/olekscode/Clio?branch=master)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/olekscode/Clio/master/LICENSE)**Clio** is a tool for exploring the history of a project (e.g. getting API entities that were available at a given commit)
In Greek mythology, [Clio](https://en.wikipedia.org/wiki/Clio) is the muse of history.
## How to install it?
To install `Clio`, go to the Playground (`Ctrl+OW`) in your [Pharo](https://pharo.org/) image and execute the following Metacello script (select it and press `Do-it` button or `Ctrl+D`):
```Smalltalk
Metacello new
baseline: 'Clio';
repository: 'github://olekscode/Clio/src';
load.
```## How to depend on it?
If you want to add a dependency on `Clio` to your project, include the following lines into your baseline method:
```Smalltalk
spec
baseline: 'Clio'
with: [ spec repository: 'github://olekscode/Clio/src' ].
```If you are new to baselines and Metacello, check out the [Baselines](https://github.com/pharo-open-documentation/pharo-wiki/blob/master/General/Baselines.md) tutorial on Pharo Wiki.
## How to use it?
```Smalltalk
collector := ClioDataCollector new
repositoryName: 'PolyMath';
repositoryOwner: 'PolyMathOrg';
baselineName: 'PolyMath';
oldVersion: 'v1.0.3';
newVersion: '46ffd24';
yourself.
collector
cloneRepository;
loadPackages;
extractCommits.
dir := '/Users/oleks/Documents/Research/Experiments/DepMiner2' asFileReference.
file := dir / (collector data repositoryName, '.json').collector data saveToJsonFile: file.
ClioData readFromJsonFile: file.
```