summaryrefslogtreecommitdiff
path: root/file/git-file.c
AgeCommit message (Collapse)AuthorFilesLines
2016-11-29TODO, file/git-file.c: defer eeshow hw/neo900.pro issueWerner Almesberger1-0/+15
2016-11-28file/file.c (file_open), git-file.c (try_related): more diagnosticsWerner Almesberger1-0/+2
2016-11-13file/git-file.c (select_repo): the root of relative paths is "." not "/"Werner Almesberger1-4/+14
2016-10-29file/: implement caching version of git_repository_open_ext for libgit2 < 0.22Werner Almesberger1-1/+1
In version 0.22, this was added: Share open packfiles across repositories to share descriptors and mmaps Unfortunately, some people are unable to upgrade to modern libraries. Without FD sharing, eeshow may run out of file descriptors when loading large repositories. This commit adds a cache to reduce the number of times a repository is opened, which may in turn reduce the number of open files.
2016-10-28file/git-file.c: add cache for remembering commits we've already visitedWerner Almesberger1-6/+49
This brings the time for eeplot -d "%s" HEAD:neo900.pro -o neo900.pdf down from 100 s to about 1.2 s, only slightly longer than the 0.75 s plotting takes without date processing.
2016-10-28file/git-file.c (vcs_git_time): only retrieve time if we may use it (HACK)Werner Almesberger1-1/+15
Rough performance comparison: eeplot HEAD:neo900.pro -o neo900.pdf Without -d 0.750 s -d "%s", search until blob no longer in tree 1.40 min (x 112) -d "%s", search to bottom 21 min (x 15)
2016-10-28file/git-file.c (recurse_time): search entire tree, not only top levelWerner Almesberger1-3/+19
2016-10-28file/git-file.c (vcs_git_time): getting the right date is a little harder ...Werner Almesberger1-1/+49
First, we should be using the author ("content") date, not the commit ("envelope") date: http://stackoverflow.com/questions/11856983/why-git-authordate-is-different-from-commitdate Second, the date of the commit where we picked up the file doesn't seem to be very relevant. What we're really interested in is when the file last changed. For this, we need to perform an expensive search.
2016-10-28file/git-file.c (related_same_repo, related_only_repo): copy commit, tooWerner Almesberger1-0/+2
Else, we'll have an undefined vcs_git->commit, and crash.
2016-10-28file/: retrieve file mtime or commit timeWerner Almesberger1-9/+19
2016-09-04file/git-file.c (canonical_path_into_repo): avoid fatal error if we leave repoWerner Almesberger1-1/+17
Instead, we give up and let the caller look for alternatives.
2016-08-27file/git-file.c, git-hist.c: use pfatal_git, perror_gitWerner Almesberger1-24/+10
2016-08-22eeshow/file/git-file.c (related_only_repo): lookup repo again after graftingWerner Almesberger1-0/+16
Else, symlinks may confuse us.
2016-08-22eeshow/diag.c (progress): don't require user to supply newlineWerner Almesberger1-13/+13
2016-08-22eeshow/diag.c (error): don't require user to supply newlineWerner Almesberger1-2/+2
2016-08-22eeshow/diag.c (warning): don't require user to supply newlineWerner Almesberger1-1/+1
2016-08-17eeshow/: util.h and diag.c go to misc/Werner Almesberger1-2/+2
2016-08-17eeshow/: move file and history access to file/Werner Almesberger1-0/+502