11local lazy = require (" diffview.lazy" )
22local oop = require (' diffview.oop' )
3- local utils = require (" diffview.utils" )
4- local Commit = require (' diffview.vcs.commit' ).Commit
5-
6- --- @module " diffview.vcs.adapters.git.utils"
7- local git = lazy .require (" diffview.vcs.adapters.git.utils" )
8-
9- --- @type ERevType | LazyModule
10- local RevType = lazy .access (" diffview.vcs.rev" , " RevType" )
113
4+ local Commit = lazy .access (" diffview.vcs.commit" , " Commit" ) --- @type Commit | LazyModule
5+ local RevType = lazy .access (" diffview.vcs.rev" , " RevType" ) --- @type ERevType | LazyModule
6+ local utils = lazy .require (" diffview.utils" ) --- @module " diffview.utils"
127
138local M = {}
149
@@ -23,24 +18,24 @@ local M = {}
2318--- @field ref_names string
2419--- @field subject string
2520--- @field body string
26- local GitCommit = oop .create_class (' GitCommit' , Commit )
21+ local GitCommit = oop .create_class (" GitCommit" , Commit . __get () )
2722
2823function GitCommit :init (opt )
2924 GitCommit :super ().init (self , opt )
3025end
3126
3227--- @param rev_arg string
33- --- @param git_toplevel string
28+ --- @param adapter GitAdapter
3429--- @return GitCommit ?
35- function GitCommit .from_rev_arg (rev_arg , git_toplevel )
36- local out , code = git . exec_sync ({
30+ function GitCommit .from_rev_arg (rev_arg , adapter )
31+ local out , code = adapter : exec_sync ({
3732 " show" ,
3833 " --pretty=format:%H %P%n%an%n%ad%n%ar%n %s" ,
3934 " --date=raw" ,
4035 " --name-status" ,
4136 rev_arg ,
4237 " --" ,
43- }, git_toplevel )
38+ }, adapter . ctx . toplevel )
4439
4540 if code ~= 0 then
4641 return
@@ -60,12 +55,12 @@ function GitCommit.from_rev_arg(rev_arg, git_toplevel)
6055end
6156
6257--- @param rev Rev
63- --- @param git_toplevel string
58+ --- @param adapter GitAdapter
6459--- @return GitCommit ?
65- function GitCommit .from_rev (rev , git_toplevel )
60+ function GitCommit .from_rev (rev , adapter )
6661 assert (rev .type == RevType .COMMIT , " Rev must be of type COMMIT!" )
6762
68- return GitCommit .from_rev_arg (rev .commit , git_toplevel )
63+ return GitCommit .from_rev_arg (rev .commit , adapter )
6964end
7065
7166function GitCommit .parse_time_offset (iso_date )
0 commit comments