瀏覽代碼

Add the note about branching

Vadim Markovtsev 6 年之前
父節點
當前提交
3060887b9c
共有 2 個文件被更改,包括 3 次插入39 次删除
  1. 0 37
      OCTOPUS.md
  2. 3 2
      README.md

+ 0 - 37
OCTOPUS.md

@@ -1,37 +0,0 @@
-# Forks and merges in commit history
-
-Hercules expects the commit history to be linear.
-It follows the main (zero index) branch when it encounters a fork.
-This behavior ignores all the side branches, and we are currently
-thinking how to include them into the analysis.
-
-### Plan - done
-
-* Commits must be ordered topologically.
-* When a fork is hit, clone the pipeline. Assign the old instance to the main branch and new
-instances to the sprouts. BurndownAnalysis should share the same counters for efficiency
-and simplicity, but the files must be copied.
-* Follow each branch independently. Clone side pipelines as needed.
-* Join pipelines on merge commits. Side pipelines are killed, the main instance survives.
-This will be tricky for Burndown because we need to join the files together while preserving
-the line annotations. The plan is to calculate the separate line annotations for each branch and blend them,
-the oldest timestamp winning.
-* Merge commits should have diffs which correspond to CGit diffs. So far they represent the diff
-with the previous commit in the main branch.
-* The sequence of commits must be the analysis scenario: it must inform when to fork and to merge,
-which pipeline instance to apply.
-
-### New APIs - done
-
-* PipelineItem
-  * `Fork()`
-  * `Merge()`
-  
-### Major changes
-
-* `Pipeline` - done
-  * `Commits()` - done
-  * `Run()` - done
-* `Burndown` - done
-* `Couples` - done
-* `FileDiff` - done

+ 3 - 2
README.md

@@ -5,10 +5,11 @@ Amazingly fast and highly customizable Git repository analysis engine written in
 Powered by [go-git](https://github.com/src-d/go-git) and [Babelfish](https://doc.bblf.sh).
 
 There are two tools: `hercules` and `labours.py`. The first is the program
-written in Go which takes a Git repository and runs a Directed Acyclic Graph (DAG) of [analysis tasks](doc/PIPELINE_ITEMS.md).
+written in Go which takes a Git repository and runs a Directed Acyclic Graph (DAG) of [analysis tasks](doc/PIPELINE_ITEMS.md) over the full commit history.
 The second is the Python script which draws some predefined plots. These two tools are normally used together through
 a pipe. It is possible to write custom analyses using the plugin system. It is also possible
-to merge several analysis results together. There is a [presentation](http://vmarkovtsev.github.io/techtalks-2017-moscow-lightning/) available.
+to merge several analysis results together. The commit history includes branches, merges, etc.
+There is a [presentation](http://vmarkovtsev.github.io/techtalks-2017-moscow-lightning/) available.
 
 ![Hercules DAG of Burndown analysis](doc/dag.png)
 <p align="center">The DAG of burndown and couples analyses with UAST diff refining. Generated with <code>hercules --burndown --burndown-people --couples --feature=uast --dry-run --dump-dag doc/dag.dot https://github.com/src-d/hercules</code></p>