Un JGit-principiante-pregunta:comisión de una serie con JGit
utilizo JGit para leer un archivo (BLOB) desde un repositorio y manipular su contenido. Después de eso, quiero escribir el nuevo contenido con el mismo nombre de archivo en el repositorio como una nueva confirmación. ¿Pero cómo puedo comprometer el nuevo contenido con JGit?
Mi pseudo-código:
String gitUrl = "path/to/repository/.git";
Repository repository = new FileRepository(gitUrl);
String filename = "test/seppl.txt";
blobId = getIdOf(filename);
ObjectLoader object = repository.open(blobId, Constants.OBJ_BLOB);
ObjectStream is = object.openStream();
String newContent = processStream(is);
// How to commit the newContent in filename?
¿Tengo que escribir el newContent
en un archivo y cometer este archivo con el AddCommand y CommitCommand? ¿O puedo escribir la cadena "sobre la marcha" en el repositorio bajo el mismo nombre de archivo?
¿Hay algún lugar en la web, por ejemplo, cómo hacer una confirmación con JGit?
En cuanto a un ejemplo de CommitCommand, sugiero que eche un vistazo a mi respuesta [aquí] (http://stackoverflow.com/questions/6861881/jgit-cannot-find-a-tutorial-or-simple- ejemplo/10311069 # 10311069). –
También recomiendo usar la API de porcelana (es decir, 'AddCommand',' CommitCommand') como se sugiere en las respuestas, pero si realmente desea confirmar _sobre la marcha_, puede encontrar útil este artículo :: http: //www.codeaffine .com/2014/10/20/git-internals/ –