Skip to content

Commit 9df48e8

Browse files
committed
Add git history file overview treemap
1 parent 7a1a47d commit 9df48e8

5 files changed

+443
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// List git file directories and the number of files they contain
2+
3+
MATCH (git_file:File&Git&!Repository)
4+
WITH *
5+
,git_file.relativePath AS gitFileName
6+
,reverse(split(reverse(git_file.relativePath),'/')[0]) AS gitFileNameWithoutPath
7+
,(git_file:Directory) AS isDirectory
8+
WITH *
9+
,rtrim(split(gitFileName, gitFileNameWithoutPath)[0], '/') AS gitDirectoryPath
10+
WITH gitDirectoryPath
11+
,coalesce(nullif(split(gitDirectoryPath, '/')[-2],''), 'root') AS directoryParentName
12+
,coalesce(nullif(split(gitDirectoryPath, '/')[-1],''), 'root') AS directoryName
13+
,size(split(gitDirectoryPath, '/')) AS pathLength
14+
,count(DISTINCT gitFileName) AS fileCount
15+
// Debugging
16+
// ,collect(git_file)[0..4] AS gitFileExamples
17+
// ,collect(gitFileName) AS gitFileNameExamples
18+
// ,collect(gitFileNameWithoutPath) AS gitFileNameWithoutPathExamples
19+
WHERE fileCount > 1
20+
RETURN gitDirectoryPath
21+
,directoryParentName
22+
,directoryName
23+
,pathLength
24+
,fileCount
25+
// Debugging
26+
// ,gitFileExamples
27+
// ,gitFileNameExamples
28+
// ,gitFileNameWithoutPathExamples
29+
ORDER BY gitDirectoryPath ASC
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// List git file directories and the number of files they contain
2+
3+
MATCH (git_file:File&Git&!Repository)
4+
OPTIONAL MATCH (git_commit:Git&Commit)-[:CONTAINS_CHANGE]->(git_change:Git&Change)-[]->(git_file)
5+
WITH *
6+
,git_file.relativePath AS gitFileName
7+
,reverse(split(reverse(git_file.relativePath),'/')[0]) AS gitFileNameWithoutPath
8+
,(git_file:Directory) AS isDirectory
9+
WITH *
10+
,rtrim(split(gitFileName, gitFileNameWithoutPath)[0], '/') AS gitDirectoryPath
11+
WITH gitDirectoryPath
12+
,coalesce(nullif(split(gitDirectoryPath, '/')[-2],''), 'root') AS directoryParentName
13+
,coalesce(nullif(split(gitDirectoryPath, '/')[-1],''), 'root') AS directoryName
14+
,size(split(gitDirectoryPath, '/')) AS pathLength
15+
,count(DISTINCT gitFileName) AS fileCount
16+
,count(distinct git_commit.sha) AS commitCount
17+
,count(distinct git_commit.author) AS authorCount
18+
// Debugging
19+
// ,collect(distinct git_commit.sha)[0..9] AS gitCommitExamples
20+
// ,collect(distinct git_commit.author)[0..9] AS gitCommitAuthorExamples
21+
// ,collect(git_file)[0..4] AS gitFileExamples
22+
// ,collect(gitFileName) AS gitFileNameExamples
23+
// ,collect(gitFileNameWithoutPath) AS gitFileNameWithoutPathExamples
24+
WHERE fileCount > 1
25+
RETURN gitDirectoryPath
26+
,directoryParentName
27+
,directoryName
28+
,pathLength
29+
,fileCount
30+
,commitCount
31+
,authorCount
32+
// Debugging
33+
// ,gitFileExamples
34+
// ,gitFileNameExamples
35+
// ,gitFileNameWithoutPathExamples
36+
ORDER BY gitDirectoryPath ASC

0 commit comments

Comments
 (0)