A JGit-principianti-domanda:Commit una stringa con JGit
Io uso JGit per leggere un file (BLOB) da un repository e manipolare il suo contenuto. Dopodiché, voglio scrivere il nuovo contenuto con lo stesso nome di file nel repository come un nuovo commit. Ma come posso impegnare il nuovo contenuto con JGit?
mio pseudo-codice:
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?
Devo scrivere il newContent
in un file e commettere questo file con il AddCommand e CommitCommand? O posso scrivere la stringa "al volo" nel repository con lo stesso nome file?
Esiste da qualche parte nel Web un esempio su come eseguire un commit con JGit?
Come per un esempio di CommitCommand, suggerisco di dare un'occhiata alla mia risposta [qui] (http://stackoverflow.com/questions/6861881/jgit-cannot-find-a-tutorial-or-simple- esempio/10311069 # 10311069). –
Raccomando anche di usare l'API di porcellana (ad es. 'AddCommand',' CommitCommand') come suggerito nelle risposte, ma se vuoi veramente impegnarti al volo_ potresti trovare questo articolo utile :: http: //www.codeaffine .com/2014/10/20/git-internals/ –