public int difference(Map<IndexEntry, Revision> item, List<IndexEntry> entries) { int difference = 0; if (entries.size() != item.keySet().size()) { return -1; } for (IndexEntry entry : entries) { Revision b = null; for (IndexEntry e : item.keySet()) { if (e.getFile().equals(entry.getFile())) { b = item.get(e); } } if (b == null) { return -1; } if (!entry.object.equals(b.getSha1())) { difference++; } } return difference; }
public List<IndexEntry> lsTree(String treeIsh) throws GitException { List<IndexEntry> entries = new ArrayList<IndexEntry>(); String result = launchCommand("ls-tree", treeIsh); BufferedReader rdr = new BufferedReader(new StringReader(result)); String line; try { while ((line = rdr.readLine()) != null) { String[] entry = line.split("\\s+"); entries.add(new IndexEntry(entry[0], entry[1], entry[2], entry[3])); } } catch (IOException e) { throw new GitException("Error parsing ls tree", e); } return entries; }
public List<IndexEntry> getSubmodules(String treeIsh) throws GitException { List<IndexEntry> submodules = lsTree(treeIsh); // Remove anything that isn't a submodule for (Iterator<IndexEntry> it = submodules.iterator(); it.hasNext();) { if (!it.next().getMode().equals("160000")) { it.remove(); } } return submodules; }
public int difference(Map<IndexEntry, Revision> item, List<IndexEntry> entries) { int difference = 0; if (entries.size() != item.keySet().size()) return -1; for (IndexEntry entry : entries) { Revision b = null; for (Map.Entry<IndexEntry, Revision> entryAndRevision : item.entrySet()) { IndexEntry e = entryAndRevision.getKey(); if (e.getFile().equals(entry.getFile())) b = entryAndRevision.getValue(); } if (b == null) return -1; if (!entry.getObject().equals(b.getSha1().getName())) difference++; } return difference; }
public int difference(Map<IndexEntry, Revision> item, List<IndexEntry> entries) { int difference = 0; if (entries.size() != item.keySet().size()) { return -1; } for (IndexEntry entry : entries) { Revision b = null; for (IndexEntry e : item.keySet()) { if (e.getFile().equals(entry.getFile())) { b = item.get(e); } } if (b == null) { return -1; } if (!entry.object.equals(b.getSha1())) { difference++; } } return difference; }
/** {@inheritDoc} */ public List<IndexEntry> lsTree(String treeIsh, boolean recursive) throws GitException, InterruptedException { List<IndexEntry> entries = new ArrayList<>(); String result = launchCommand("ls-tree", recursive?"-r":null, treeIsh); BufferedReader rdr = new BufferedReader(new StringReader(result)); String line; try { while ((line = rdr.readLine()) != null) { String[] entry = line.split("\\s+"); entries.add(new IndexEntry(entry[0], entry[1], entry[2], entry[3])); } } catch (IOException e) { throw new GitException("Error parsing ls tree", e); } return entries; }
/** {@inheritDoc} */ public List<IndexEntry> getSubmodules( String treeIsh ) throws GitException, InterruptedException { List<IndexEntry> submodules = lsTree(treeIsh,true); // Remove anything that isn't a submodule for (Iterator<IndexEntry> it = submodules.iterator(); it.hasNext();) { if (!it.next().getMode().equals("160000")) { it.remove(); } } return submodules; }
protected void makeCombination(Map<IndexEntry, Revision> settings) throws InterruptedException { // Assume we are checked out String name = "combine-" + tid + "-" + (idx++); git.branch(name); git.checkout(name); StringBuilder commit = new StringBuilder( "Jenkins generated combination of:\n"); for (Entry<IndexEntry, Revision> setting : settings.entrySet()) { commit.append(' ').append(' '); commit.append(setting.getKey().getFile()); commit.append(' '); commit.append(setting.getValue()); commit.append('\n'); } listener.getLogger().print(commit); for (Entry<IndexEntry, Revision> setting : settings.entrySet()) { IndexEntry submodule = setting.getKey(); Revision branch = setting.getValue(); GitClient subGit = git.subGit(submodule.getFile()); subGit.checkout(branch.getSha1().name()); git.add(submodule.getFile()); } git.commit(commit.toString()); }
public List<IndexEntry> lsTree(String treeIsh) throws GitException { List<IndexEntry> entries = new ArrayList<IndexEntry>(); String result = launchCommand("ls-tree", treeIsh); BufferedReader rdr = new BufferedReader(new StringReader(result)); String line; try { while ((line = rdr.readLine()) != null) { String[] entry = line.split("\\s+"); entries.add(new IndexEntry(entry[0], entry[1], entry[2], entry[3])); } } catch (IOException e) { throw new GitException("Error parsing ls tree", e); } return entries; }
public List<IndexEntry> getSubmodules(String treeIsh) throws GitException { List<IndexEntry> submodules = lsTree(treeIsh); // Remove anything that isn't a submodule for (Iterator<IndexEntry> it = submodules.iterator(); it.hasNext(); ) { if (!it.next().getMode().equals("160000")) { it.remove(); } } return submodules; }
/** {@inheritDoc} */ @Override public List<IndexEntry> getSubmodules(String treeIsh) throws GitException { try (Repository repo = getRepository(); ObjectReader or = repo.newObjectReader(); RevWalk w = new RevWalk(or)) { List<IndexEntry> r = new ArrayList<>(); RevTree t = w.parseTree(repo.resolve(treeIsh)); SubmoduleWalk walk = new SubmoduleWalk(repo); walk.setTree(t); walk.setRootTree(t); while (walk.next()) { r.add(new IndexEntry(walk)); } return r; } catch (IOException e) { throw new GitException(e); } }
/** {@inheritDoc} */ @Deprecated @Override public List<IndexEntry> lsTree(String treeIsh, boolean recursive) throws GitException, InterruptedException { try (Repository repo = getRepository(); ObjectReader or = repo.newObjectReader(); RevWalk w = new RevWalk(or)) { TreeWalk tree = new TreeWalk(or); tree.addTree(w.parseTree(repo.resolve(treeIsh))); tree.setRecursive(recursive); List<IndexEntry> r = new ArrayList<>(); while (tree.next()) { RevObject rev = w.parseAny(tree.getObjectId(0)); r.add(new IndexEntry( String.format("%06o", tree.getRawMode(0)), typeString(rev.getType()), tree.getObjectId(0).name(), tree.getNameString())); } return r; } catch (IOException e) { throw new GitException(e); } }
protected void makeCombination(Map<IndexEntry, Revision> settings) { // Assume we are checked out String name = "combine-" + tid + "-" + (idx++); git.branch(name); git.checkout(name); String commit = "Hudson generated combination of:\n"; for (IndexEntry submodule : settings.keySet()) { Revision branch = settings.get(submodule); commit += " " + submodule.getFile() + " " + branch.toString() + "\n"; } listener.getLogger().print(commit); for (IndexEntry submodule : settings.keySet()) { Revision branch = settings.get(submodule); File subdir = new File(workspace, submodule.getFile()); IGitAPI subGit = new GitAPI(git.getGitExe(), new FilePath(subdir), listener, git.getEnvironment()); try { subGit.checkout(branch.sha1.name()); git.add(submodule.file); } finally { subGit.close(); } } git.commit(commit); }
File subdir = new File(workspace, submodule.getFile()); IGitAPI subGit = new GitAPI(git.getGitExe(), new FilePath(subdir), listener, git.getEnvironment()); Collection<Revision> items = gu.filterTipBranches(gu.getAllBranchRevisions()); filterRevisions(submodule.getFile(), items); listener.getLogger().print("Submodule " + entry.getFile() + " branches"); for (Revision br : moduleBranches.get(entry)) { listener.getLogger().print(" " + br.toString());
File subdir = new File(workspace, submodule.getFile()); IGitAPI subGit = new GitAPI(git.getGitExe(), new FilePath(subdir), listener, git.getEnvironment()); Collection<Revision> items = gu.filterTipBranches(gu.getAllBranchRevisions()); filterRevisions(submodule.getFile(), items); listener.getLogger().print("Submodule " + entry.getFile() + " branches"); for (Revision br : moduleBranches.get(entry)) { listener.getLogger().print(" " + br.toString());