diff --git a/lib/oto/commands/git/git.dart b/lib/oto/commands/git/git.dart index fcedc58..53f2dc5 100644 --- a/lib/oto/commands/git/git.dart +++ b/lib/oto/commands/git/git.dart @@ -45,7 +45,8 @@ class GitRev extends Command { var workspace = getWorkspace(data.workspace); var shell = StringBuffer(getCDPath(workspace)); - shell.write(' && git rev-parse HEAD'); + var target = data.branch ?? 'HEAD'; + shell.write(' && git rev-parse $target'); var process = await ProcessExecutor.start(shell, printStderr: false); var exitCode = await process.process.exitCode; var hash = process.stdoutArr.last; diff --git a/lib/oto/data/command_data.dart b/lib/oto/data/command_data.dart index ddd2cbd..8e5b19d 100644 --- a/lib/oto/data/command_data.dart +++ b/lib/oto/data/command_data.dart @@ -384,6 +384,8 @@ class DataGitCount extends DataParam { class DataGitRev extends DataParam { DataGitRev(); + late String? branch; //null will be show local HEAD + @JsonKey(name: 'result-value') late String result_value; diff --git a/lib/oto/data/command_data.g.dart b/lib/oto/data/command_data.g.dart index 229a1f8..e23b659 100644 --- a/lib/oto/data/command_data.g.dart +++ b/lib/oto/data/command_data.g.dart @@ -431,11 +431,13 @@ Map _$DataGitCountToJson(DataGitCount instance) => DataGitRev _$DataGitRevFromJson(Map json) => DataGitRev() ..workspace = json['workspace'] as String? + ..branch = json['branch'] as String? ..result_value = json['result-value'] as String; Map _$DataGitRevToJson(DataGitRev instance) => { 'workspace': instance.workspace, + 'branch': instance.branch, 'result-value': instance.result_value, };