Setup directory for my system in testing code


Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
add functions to perform a file based commit analysis that does not use
tag information

Method: 
- get all commits for a particular file (withing a range)
- get snap shots of what the file looked like at the time of the commit 
- save all commmits together with snapshot information 

Data Structures:
- added a class called fileCommit to contains all commit data relevant
to a particular file, mainly stores the snap shot info for every commit
on a file at this point 

- VCS class uses the fileCommit class to create a dictionary where keys
are file names and values is a fileCommit object 

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
Add functionality to compute the collaborative relationship between a
contributor (author or committer) based on proximity. If two
contributors contribute code in close proximity they are assumed to be
writing related code and share common goal/knowledge about a project. 

The main added functions are:
1) identify contiguous blocks of code from a single author or committer 
2) cluster the code blocks into groups located in some localized region
around the person of interest 
3) compute the strength of collaboration using a metric based on
distance of separation between code blocks

Currently only collaboration between contributors is being saved however
we could also do things like measure collaboration for an entire
file or collection of files. 



Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
New:
the ability to specify a revision range for the non-tag based analysis,
if no range is specified the entire commit history of a given file is
implied

Modified:
when specifying a revision range it turns out that some commits
captured during the git blame queries are not capture by the git log
query. I added a second git log query to capture all commits for the
file. This is inefficient but there doesn't seem to be an obvious
better solution at the moment. 


Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
Changes: 
- use regular expression to match the git blame output, the previous
method was not matching properly in some responses.

New:
added function "config4LinuxKernelAnalysis" to initialize a VCS
object for linux kernal analysis. The function will query git for a
list of files that are tracked by the repository and addes these to the
filenames that should be analyzed automatically. 

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
- Reorganization of code

- Added function to perform a non-tag based analysis which currently
differs slightly from existing tag based analysis. The names for some
variable and functions needs to be adjusted since they give reference to
"tags" even in the analysis of non-tag based data. 


Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
Bug fixes:
I think these bugs may have be introduced by updates to packages since
the original writting of this file. 

1. It seem that clusters() used to create memberships that were indexed
starting at zero and then changed to be index starting with 1. This
caused some bugs in finding communities. 

2. The print function for the xtable package was failing because of an
argument format="latex" not working correctly. In the documentation for
xtable it states that type="latex" should be used. 

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
New scripts to generate graphs and data for tag and non-tag based
analysis. These are nearly the same as the previous gen_all.sh script 
but now address the subtle differences between calling the python
scripts to perform the two different analyses. 


Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
Various minor changes:

- updates to some comments 
- renaming of some variables

New code: 
- changes to parsing code to allow for non-Tag based analysis to be
called

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
Code added to handle non-Tag based analysis 

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
added code to command line argument parser to handle calling non-tag
based analysis


Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
Change the pretty format for the commit message, previous one was
causing some issues. 

update code to handle specific revision range for non-tag based analysis


Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
user path change for data location

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
fix: Minor bug caused by incorrectly typed variable name

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
fix: minor bug with incorrectly typed variable name

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
problem: Latin characters was causing the graphviz visualization
software to fail

fix: add Latin1 to character set as command line argument

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
small fixes 
problem: scientific notation causes parsing problems
fix: suppress scientific notation for page rank in .dot files

problem: igraph cluster(..) function might not always save the largest
connected graph to a single index 
fix: test for largest graph


Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
Change the storage locations for results to be slightly more organized.

This change prevents overwriting the data when running the tag and
non-tag analysis one after the other.

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>
added files to create concise pdf format of all results produced from
persons.r

Signed-off-by: Mitchell Joblin <joblin.m@gmail.com>