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

https://github.com/replikativ/flechtwerk

flechtwerk provides visualization of commit graphs of CDVCS.
https://github.com/replikativ/flechtwerk

Last synced: 9 months ago
JSON representation

flechtwerk provides visualization of commit graphs of CDVCS.

Awesome Lists containing this project

README

          

#+TITLE: flechtwerk
#+CATEGORY: flechtwerk
#+TAGS: review bug feature research mail
#+TODO: TODO(t) STARTED(s!) | FIXED(f!) DONE(d!)
#+TODO: CANCELED(c@)
#+STARTUP: overview
#+STARTUP: hidestars
**** Overview
=flechtwerk= is a visualization of commit graphs from [[http://github.com/replikativ/replikativ][replikativ]] using [[https://github.com/trifacta/vega][vega]] or [[https://github.com/quil/quil][quil]].

See gorilla example use [[http://viewer.gorilla-repl.org/view.html?source=github&user=replikativ&repo=flechtwerk&path=example.clj][here]].

**** Installation
=flechtwerk= is available at Clojars. Add the following to the =:dependencies= section of your =project.clj= file:

#+BEGIN_SRC Clojure
[io.replikativ/flechtwerk "0.1.1-SNAPSHOT"]
#+END_SRC

**** Gorilla usage
Start a =gorilla= worksheet in your project and add the following:

#+BEGIN_SRC Clojure
(ns harmonious-creek
(:require [gorilla-repl.vega :as v]
[full.async :refer [?]]
[konserve.memory :refer [new-mem-store]]
[flechtwerk.core :as g]
[flechtwerk.graph :as graph]))

(def store (? (new-mem-store (atom (into {} (map (fn [k v] [k v]) (range 17) (repeat {:branch "master"})))))))

(v/vega-view (? (g/vega-commit-graph graph/test-graph :store store)))
#+END_SRC

**** Quil usage
#+BEGIN_SRC Clojure
(ns harmonious-creek
(:require [full.async :refer [?]]
[konserve.memory :refer [new-mem-store]]
[flechtwerk.core :as g]
[flechtwerk.graph :as graph]
[flechtwerk.quilesque :as q]))

(def store (? (new-mem-store (atom (into {} (map (fn [k v] [k v]) (range 17) (repeat {:branch "master"})))))))

(q/sketch (? (g/quil-commit-graph graph/test-graph :store store)))
#+END_SRC

Quit frame via =q=, show commit id via mouse-over and print current frame to a given output-file via =p=.

In ClojureScript it works accordingly, look at demo.cljs and the provided index.html for details.

**** TODOs
***** DONE load and merge branches from store (for colors) :feature:
- State "DONE" from "TODO" [2016-04-10 So 01:01]
***** TODO add smooth edges using bezier :feature:
DEADLINE: <2015-07-27 Mo>
:PROPERTIES:
:Created: [2015-07-23 Do 12:09]
:Associated_file: [[/home/konny/projects/geschichte-gorilla/src/geschichte_gorilla/quilesque.clj]]
:Assigned_to: kordano
:END:
***** DONE add commit ids to vega plots :feature:
CLOSED: [2015-07-16 Do 15:57] DEADLINE: <2015-07-17 Fr>
:LOGBOOK:
- State "DONE" from "TODO" [2015-07-16 Do 15:57]
CLOCK: [2015-07-16 Do 15:46]--[2015-07-16 Do 15:56] => 0:10
:END:
:PROPERTIES:
:Created: [2015-07-16 Do 15:36]
:Assigned_to: kordano
:END:
***** FIXED fix that index-out-of-bound error when new branches are created :bug:
CLOSED: [2015-07-16 Do 13:18] DEADLINE: <2015-07-17 Fr>
:LOGBOOK:
- State "FIXED" from "DONE" [2015-07-16 Do 13:18]
- State "DONE" from "TODO" [2015-07-16 Do 13:18]
CLOCK: [2015-07-16 Do 12:55]--[2015-07-16 Do 13:18] => 0:23
:END:
:PROPERTIES:
:Created: [2015-07-16 Do 12:53]
:Associated_file: [[/home/konny/projects/geschichte-gorilla/src/geschichte_gorilla/graph.clj]]
:Assigned_to: kordano
:END:
****** TODO build graph using quil
****** TODO adust to commit ids in new geschichte version
****** TODO get commit ids on mouseover
****** TODO show branch name at head commits
****** TODO animate force-based build process (quil)
****** TODO draw branches and merges via bezier curves
****** TODO show commit value on click
****** TODO store current frame
**** References
**** License

Copyright © 2016 Konrad Kühne, Christian Weilbach

Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.