package org.jmeld.vc.git; import org.jmeld.util.Result; import org.jmeld.vc.BaseFile; import org.jmeld.vc.util.VcCmd; import java.io.File; public class CatCmd extends VcCmd<BaseFile> { private File file; private String reference; public CatCmd(File file) { this(file, "HEAD"); } public CatCmd(File file, String reference) { this.file = file; this.reference = reference; initWorkingDirectory(file); } public Result execute() { super.execute("git", "show", getReferencePoint() +":"+file.getName()); return getResult(); } private String getReferencePoint() { if (reference.equals("index")) { return ""; } else if (reference.equals("worktree")) { return ""; } else { return reference; } } protected void build(byte[] data) { setResultData(new BaseFile(data)); } }