72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/command/diff.rb', line 72
def execute(argv)
short_number_option_parse(argv)
super
if argv.empty?
latest = Database.instance.sort_by_last_update.first
return unless latest
id = latest["id"]
else
target = argv.shift
id = Downloader.get_id_by_target(target)
end
unless id
error "#{target} は存在しません"
return
end
view_diff_version = argv.shift
if view_diff_version
if invalid_diff_version_string?(view_diff_version)
error "差分指定の書式が違います(正しい例:2013.02.21@01;39;46)"
return
end
@options["view_diff_version"] = view_diff_version
end
if @options["list"]
display_diff_list(id)
return
end
if @options["clean"]
clean_diff(id)
return
end
if @options["all-clean"]
clean_all_diff
return
end
@difftool = GlobalSetting.get["global_setting"]["difftool"]
unless @difftool
error "difftool が設定されていません。narou setting で difftool を設定して下さい"
return
end
exec_difftool(id)
end
|