I'd like to be able to browse a file's commit history. Information about commits is available via git log, but it's hard to find the commits in a very long list (mine is over 20 years long).
Or am I missing something obvious?
No, there is no such feature today.
You can get close to it by using the search box. (Maybe just the search box needs improvement?)
@mik01aj As far as I can tell, the git-up search box only searches commit messages. Which, unless you included the file name in all your comments, will be unlikely to retrieve the full commit history (git log) of an individual file.
I agree that this is a valuable feature that should be added to git-up. It's one of the only things keeping me from using git-up more often.
@kpowick it can:


Hi @mik01aj
I guess we're looking for different things.
What I'm looking for is a way to see the complete commit history (git log) of a single, specific file (e.g. myprog.c). Other products such as _SmartGit_, _GitKraken_, and _SourceTree_ have such a feature. For _GitUp_, enabling _"Search commit diffs"_ does not provide similar functionality.
@kpowick I meant yes, it's not the same, but it does get close. For me it's practical enough.
For the precise case, yes, sometimes I need the full history of a specific file, and then I use IntelliJ integration. It can even show git history for some specific part of the file. It'd be cool to have it in GitUp too but it's not a deal-breaker for me.
Search by file would be huge. It's a big missing piece from moving over from Sourcetree for me.
Today I can search for a file

and then review the log for it

It would be great if you could Cmd+P / Cmd+T search for files like you do in many editors these days (Sublime, Atom, VSCode, etc.) and it'll popup a history for the file.
Has anything happened relating to this?
Nothing, so far as I can tell.
Richard
Sent from my iPhone
On 21 Feb 2018, at 11:12, Josh Wells notifications@github.com wrote:
Has anything happened relating to this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
I'd like to implement this as an enhancement for commit search. This is a feature I wanted. It should be similar to keyword searching, but using git log --follow filename as the result set.
I notice that there is an existing method - (NSArray*)lookupCommitsForFile:(NSString*)path followRenames:(BOOL)follow error:(NSError**)error; // git log {--follow} -p {file} in repo. Are there any reason that we don't use it for search, @swisspol?
@swisspol Could you take a look at this PR (https://github.com/git-up/GitUp/pull/425) when you have a chance?
Unfortunately, when using this feature GitUp crashes for me:
Process: GitUp [47800]
Path: /Applications/GitUp.app/Contents/MacOS/GitUp
Identifier: co.gitup.mac
Version: 1.1 (1031)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: GitUp [47800]
User ID: 501
Date/Time: 2019-09-10 16:08:47.181 +0200
OS Version: Mac OS X 10.14.6 (18G95)
Report Version: 12
Bridge OS Version: 3.6 (16P6571)
Anonymous UUID: 0AA3B011-FB60-05CB-707A-7804690F9AC0
Sleep/Wake UUID: 3B902CE1-990A-4FC0-B2D9-A7097DE480DA
Time Awake Since Boot: 140000 seconds
Time Since Wake: 3100 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
Performing @selector(performSearch:) from sender NSSearchField 0x7f8cbb6161c0
Assertion failed: (commit), function git_commit_parent, file /Users/lucasderraugh/Developer/GitUp/GitUpKit/Third-Party/libgit2/src/commit.c, line 601.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff6e36b2c6 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff6e426bf1 pthread_kill + 284
2 libsystem_c.dylib 0x00007fff6e2d56a6 abort + 127
3 libsystem_c.dylib 0x00007fff6e29e20d __assert_rtn + 324
4 co.gitup.kit 0x00000001064b3dc9 git_commit_parent + 101
5 co.gitup.kit 0x0000000106199ca8 -[GCRepository(GCHistory) lookupCommitsForFile:followRenames:error:] + 756
6 co.gitup.kit 0x00000001061a29f5 -[GCLiveRepository(GCCommitDatabase) findCommitsMatching:] + 344
7 co.gitup.mac 0x0000000105bbb79b 0x105ba6000 + 87963
8 com.apple.AppKit 0x00007fff3fbc4644 -[NSApplication(NSResponder) sendAction:to:from:] + 312
9 com.apple.AppKit 0x00007fff3fc2e992 -[NSControl sendAction:to:] + 86
10 com.apple.AppKit 0x00007fff4004908b -[NSSearchField sendAction:to:] + 71
11 com.apple.AppKit 0x00007fff3fc2e8c4 __26-[NSCell _sendActionFrom:]_block_invoke + 136
12 com.apple.AppKit 0x00007fff3fc2e7c6 -[NSCell _sendActionFrom:] + 178
13 com.apple.AppKit 0x00007fff4004b051 -[NSSearchFieldCell(NSSearchFieldCell_Local) _sendPartialString] + 214
14 com.apple.Foundation 0x00007fff445887fb __NSFireTimer + 80
15 com.apple.CoreFoundation 0x00007fff422fb060 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
16 com.apple.CoreFoundation 0x00007fff422fac0c __CFRunLoopDoTimer + 851
17 com.apple.CoreFoundation 0x00007fff422fa752 __CFRunLoopDoTimers + 330
18 com.apple.CoreFoundation 0x00007fff422db962 __CFRunLoopRun + 2130
19 com.apple.CoreFoundation 0x00007fff422daebe CFRunLoopRunSpecific + 455
20 com.apple.HIToolbox 0x00007fff4153a1ab RunCurrentEventLoopInMode + 292
21 com.apple.HIToolbox 0x00007fff41539ee5 ReceiveNextEventCommon + 603
22 com.apple.HIToolbox 0x00007fff41539c76 _BlockUntilNextEventMatchingListInModeWithFilter + 64
23 com.apple.AppKit 0x00007fff3f8d279d _DPSNextEvent + 1135
24 com.apple.AppKit 0x00007fff3f8d148b -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
25 com.apple.AppKit 0x00007fff3f8cb5a8 -[NSApplication run] + 699
26 com.apple.AppKit 0x00007fff3f8baae8 NSApplicationMain + 777
27 libdyld.dylib 0x00007fff6e2303d5 start + 1
Most helpful comment
Unfortunately, when using this feature GitUp crashes for me: