Voglio creare un programma Java, cheCome si fa a git pull con un database in memoria in JGit?
- si collega ad un certo repository Git,
- accoda testo in un file,
- i depositi e le
- spinge le modifiche a tale repository.
Idealmente, tutto questo dovrebbe accadere nella memoria.
sto usando JGit per l'interazione con Git:
InMemoryRepository repo = new InMemoryRepository(new DfsRepositoryDescription());
Git git = new Git(repo);
git.init().call();
PullCommand pull = git.pull();
StoredConfig config = git.getRepository().getConfig();
config.setString("remote", "origin", "url", "https://XXX");
config.save();
PullResult result = pull.call();
I pull.call()
risultati nella seguente eccezione:
org.eclipse.jgit.api.errors.NoHeadException: Pull on repository without HEAD currently not supported
at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:191)
Come posso recuperare il contenuto di un repository in un in-memory Repository JGit?
è necessario emettere un 'fetch' probabilmente –
Non sono un professionista in questo settore ma non ho mai sentito nessuno che abbia tentato l'accesso git in memoria - Ho un suggerimento, però .. Prova a caricare il repository in un temp directory (utilizzare la funzione File.deleteOnExit durante la creazione della directory tramite File.mkdirs) e quindi caricare tutti quei file nella memoria, salvando le modifiche apportate e risincronizzando il git con la directory temp. – Wayne
'no HEAD' probabilmente significa è necessario effettuare prima il checkout di qualche ramo ('checkout master' o qualunque altro ramo) – LeGEC