summaryrefslogtreecommitdiff
path: root/file
AgeCommit message (Collapse)AuthorFilesLines
2017-06-14file/git-util.c (git_repository_open_ext_caching): fix stupid typoWerner Almesberger1-1/+1
This prevented eeshow from accessing the history when using a recent version of libgit2. Reported by Timur Kristof.
2017-03-04file/git-util.c (git_repository_open_ext_caching): use correct path if we canWerner Almesberger1-1/+1
Use only "." as fallback if we can't figure out the correct path.
2016-12-08file/git-hist.c: only use bg alpha in Pango markup if libpango >= 1.38Werner Almesberger1-1/+7
2016-12-08file/git-hist.c: bgalpha is still too new, try background_alphaWerner Almesberger1-1/+1
2016-12-08file/git-util.c: handling of realpath errors broke eeshow rev:fileWerner Almesberger1-1/+9
2016-12-08file/git-hist.c: try different syntax for background color in Pango markupWerner Almesberger1-3/+5
For compatibility with historical versions of libpango, which don't support #rrggbbaa
2016-11-29file/git-util.c (git_repository_open_ext): use directories instead of reg. filestryWerner Almesberger1-2/+47
Reported by Alvaro Gamez Machado.
2016-11-29TODO, file/git-file.c: defer eeshow hw/neo900.pro issueWerner Almesberger1-0/+15
2016-11-29file/file.c (file_open), git-file.c (try_related): more diagnosticsWerner Almesberger2-1/+12
2016-11-28file/git-hist.c (vcs_git_try): additional diagnosticeWerner Almesberger1-2/+6
To debug mysterious lack of history experienced by "ceene".
2016-11-13file/git-file.c (select_repo): the root of relative paths is "." not "/"Werner Almesberger1-4/+14
2016-11-13file/file.c (try_related): don't return NULL if function is "bool"Werner Almesberger1-1/+1
2016-10-30file/git-hist.c (vcs_git_long_for_pango): optionally show full commit messageWerner Almesberger2-3/+5
2016-10-30file/git-hist.h, git-hist.c (vcs_git_summary, ...): make vcs_hist "const"Werner Almesberger2-6/+6
2016-10-30file/git-hist.c (vcs_git_long_for_pango): use author information, not committerWerner Almesberger1-4/+2
2016-10-29file/: implement caching version of git_repository_open_ext for libgit2 < 0.22Werner Almesberger4-3/+41
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-29file/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 Almesberger4-17/+53
2016-09-24file/git-hist.c (vcs_git_history): limit depth of history retrievalWerner Almesberger2-8/+11
We used to retrieve the entire history, but if we afterwards only use the topmost N entries, we need - in the worse case - only the first N entries from each branch. We could try to be even more efficient, but that would require doing part of the sorting already during retrieval, which would make things messy.
2016-09-24file/git-hist.c (dump_one): remove debug codeWerner Almesberger1-16/+4
Looked quite ugly, and this part now seems to work fine.
2016-09-15file/git-hist.c: delete obsolete (and broken) iteration functionsWerner Almesberger1-41/+0
2016-09-08fix numerous whitespace atrocitiesWerner Almesberger2-4/+3
- trailing spaces - trailing tabs - space before tab - more than four spaces ... - at the beginning of a line - after tab - in general (okay in many cases, but not all) - caught a stray blank line as well
2016-09-07file/file.c (file_open): add tracingWerner Almesberger1-0/+2
2016-09-07file/file.c (file_search): apply file_open to a search pathWerner Almesberger2-0/+28
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-09-04file/git-hist.c (vcs_git_try): check if the file really exists in the repoWerner Almesberger3-1/+24
Else, eeshow may load some huge revision history for an uncommitted file, just to report that it can't be found.
2016-08-30file/file.c (file_cleanup): clean up static getline bufferWerner Almesberger2-5/+15
2016-08-29file/git-hist.c (hist_iterate): pass "next" pointer as wellWerner Almesberger2-12/+9
This way, the callback don't need to search the list to figure it out on its own.
2016-08-29file/git-hist.c: give also "dirty" the full treatment, with threadsWerner Almesberger1-10/+10
2016-08-29file/git-hist.c (dump_one): don't overrun sorted_histWerner Almesberger1-5/+6
I did try to do it right, but didn't ...
2016-08-29file/git-hist.c (classify_threads): rename to threads_classify; split off sizeWerner Almesberger2-7/+13
We may prefer to know the number of threads before starting to walk down the list.
2016-08-29file/git-hist.c: record threads and show in dump_hist output (experimental)Werner Almesberger2-5/+207
2016-08-28file/git-hist.c (vcs_git_long_for_pango): clean up; put space between branchesWerner Almesberger1-29/+26
2016-08-28file/git-hist.c: sort history by partial order and dateWerner Almesberger1-2/+102
By including the date, we avoid valid but unexpected sequences, e.g. beginning the list with branches that started in the distant past.
2016-08-28file/git-hist.c, gui/: support multiple heads; update GUI accordinglyWerner Almesberger2-24/+58
While we try to iterate HEAD first, this won't result in HEAD coming out on top if there is another branch that is ahead of HEAD. While we could try some heuristics to avoid this, it'll be better to just sort the whole list first by (partial) git history order and then by date. That way, the result will never be too far from what a human user will expect to see.
2016-08-28file/git-hist.c: cache branches in "struct vcs_history"Werner Almesberger1-11/+38
2016-08-28file/git-hist.c (vcs_git_summary_for_pango, vcs_git_long_for_pango): branchesWerner Almesberger2-3/+53
vcs_git_long_for_pango now shows branches. New vcs_git_summary_for_pango is a branch-showing alternative to vcs_git_summary.
2016-08-27file/git-hist.c: detect branches; dump_hist shows name(s)Werner Almesberger2-15/+74
2016-08-27file/git-hist.h (struct hist, struct history): prepend vcs_Werner Almesberger2-43/+45
2016-08-27file/git-hist.c: introduce history descriptor to API, removing global "history"Werner Almesberger2-24/+48
This will be used for more things in the future.
2016-08-27file/git-hist.c: add section commentsWerner Almesberger1-0/+12
2016-08-27file/git-hist.c (hist_iterate): "last child" logic was brokenWerner Almesberger2-3/+23
This caused commits to be placed out of sequence when iterating.
2016-08-27file/git-hist.c (n_branches, find_commit): get rid of "open branches" arrayWerner Almesberger2-27/+20
We used to have an arrary of branches we've entered but not left yet, which we used to look for commits already in the tree we're in the process of building. However, this didn't work as intended since a branch may have progressed already past the current position and we wouldn't see the commits on it. Furthermore, recursing the tree above us for each branch could easily be less efficient than just running through all the nodes. So keeping a list of nodes is what we do now.
2016-08-27file/git-hist.c (dump_hist): use hist_iterateWerner Almesberger1-5/+6
This way, we can be sure everything uses the same algorithm.
2016-08-27file/git-file.c, git-hist.c: use pfatal_git, perror_gitWerner Almesberger2-53/+22
2016-08-27file/git-hist.c: don't forget to #include <git2.h>Werner Almesberger1-0/+2