1048 cmd.add(refspec);
1049 }
1050 try (var p = capture(cmd)) {
1051 await(p);
1052 }
1053 }
1054
1055 @Override
1056 public boolean contains(Branch b, Hash h) throws IOException {
1057 try (var p = capture("git", "for-each-ref", "--contains", h.hex(), "--format", "%(refname:short)")) {
1058 var res = await(p);
1059 for (var line : res.stdout()) {
1060 if (line.equals(b.name())) {
1061 return true;
1062 }
1063 }
1064 }
1065
1066 return false;
1067 }
1068 }
|
1048 cmd.add(refspec);
1049 }
1050 try (var p = capture(cmd)) {
1051 await(p);
1052 }
1053 }
1054
1055 @Override
1056 public boolean contains(Branch b, Hash h) throws IOException {
1057 try (var p = capture("git", "for-each-ref", "--contains", h.hex(), "--format", "%(refname:short)")) {
1058 var res = await(p);
1059 for (var line : res.stdout()) {
1060 if (line.equals(b.name())) {
1061 return true;
1062 }
1063 }
1064 }
1065
1066 return false;
1067 }
1068
1069 @Override
1070 public List<Reference> remoteBranches(String remote) throws IOException {
1071 var refs = new ArrayList<Reference>();
1072 try (var p = capture("git", "ls-remote", "--heads", "--refs", remote)) {
1073 for (var line : await(p).stdout()) {
1074 var parts = line.split("\t");
1075 var name = parts[1].replace("refs/heads/", "");
1076 refs.add(new Reference(name, new Hash(parts[0])));
1077 }
1078 }
1079 return refs;
1080 }
1081
1082 @Override
1083 public List<String> remotes() throws IOException {
1084 var remotes = new ArrayList<String>();
1085 try (var p = capture("git", "remote")) {
1086 for (var line : await(p).stdout()) {
1087 remotes.add(line);
1088 }
1089 }
1090 return remotes;
1091 }
1092 }
|