Perforce like Time-lapse view or some "git log -LX,Y:myfile" view

Seb D 4 years ago updated by Marc Strapetz 4 years ago 9

Would be great to have a graphic view that at least retrieve all commits done on a certain line range of a file.

At best something like the Perforce Time-lapse view would be awesome: https://www.perforce.com/support/tutorial-video-library/video/using-time-lapse-view

By the way, I realize that's what DeepGit does, isn't it ? http://www.syntevo.com/deepgit/

Under review

In SmartGit, you are able to see all versions of the file by changing the View Commit. The History of current line shows you all modifications for the current line. AFAIU, this is similar as what you see in Perforce when selecting a range, but just for a single line.

DeepGit's focus is on investigating changes to a line/block as well. But it's using a different user interface concept and it's using smarter algorithms to trace back modifications.

Thanks for the answer. Sorry but I don't understand what you mean by "chaging the View Commit". So forth I don't see where is "the History of current line". I guess we're talking about the SmartGit Log window, don't we ? I'm on SmartGit 8.0.3 by the way

Seb, regarding your question on "History of current line", see the link I posted below. (I had to google as well to figure out how to activate that feature.)

Thanks you very much! I think you forgot to post the link but I guess this is the one https://www.syntevo.com/doc/display/SG/Blame

So this is in the Blame window right ? I've never used it so far but it seems it has exactly what I'm looking for. Perfect !

Weird, it shows up for me in my post (I had edited it in after posting, maybe that's the issue), but either way: that's exactly the article I found, too!


Wow, History of current line is a really cool feature, that I never would have found. In fact, I was searching for exactly that feature a few weeks ago, and gave up unsuccessfully after fifteen minutes.

So my feedback is that maybe this feature could be made more discoverable. (Although I don't have any specific suggestions how to do that, I'll leave that to the UX experts.)

I want to find when a block of lines was deleted, with nothing replacing it. I might not know its exact location in the file, or how long ago it happened.

With Perforce's time lapse view, the block of lines will appear and disappear as I drag left and right in the timeline. So with some fiddling I can find the commit where the lines disappear. However, if the history is dense it can be difficult to adjust the timeline to the exact spot. So I think there could be a better UI than Perforce.

Could deleted lines be included (optionally) in the "blame" view, in light gray? The "history of current line" could show their history, just as it does for the existing lines.

Alternatively, could past deletions be indicated by a mark between two lines? Hover over the mark to see the commit id, timestamp, etc of the deletion. Right-click the mark to jump to the commit in which the lines were deleted, or to the last commit before the deletion.

If you don't know the location in the file, it will be hard to locate the change even with Perforce, I guess. Also, have a look at the two-panes approach of DeepGit: