Сегодня я подписался на github и преобразовал существующую файловую систему в git-репозиторий, используя описанную здесь технику:
http://crashingdaily.wordpress.com/2009/09/02/initing-a-new-remote-git-repository-with-existing-files/
Самое главное (я думаю) это включало эту строку:
git --bare init
Затем я последовал остальным инструкциям по настройке github.com (это было частью этого) и все было готово. Существующая файловая система была в Dropbox, поэтому я выполнил ту же настройку на двух других компьютерах, которые используют файловую систему (сейчас это git-репо).
Сегодня вечером я попытался заставить JGit добавить файл, зафиксировать его и затем нажать его. Вот суть кода до момента, когда он сломается:
FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(new File("path/to/my/repo"))
.readEnvironment() // scan environment GIT_* variables
.findGitDir() // scan up the file system tree
.build();
Git git = new Git(repository);
AddCommand add = git.add();
try{
add.addFilepattern("PlayState.as").call();`
Кстати, в основном это дословно взято из руководства по JGit. В этой последней строке в кавычках выдается исключение:
org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index
at org.eclipse.jgit.lib.Repository.getIndexFile(Repository.java:838)
at org.eclipse.jgit.lib.Repository.lockDirCache(Repository.java:886)
at org.eclipse.jgit.api.AddCommand.call(AddCommand.java:136)
at flipa.FLIPAGame.writeToFlixel(FLIPAGame.java:77)
at flipa.FLIPAGame.main(FLIPAGame.java:58)
Так вот, я не говорю, что это неразумно утверждать, потому что, по правде говоря, я не лучший друг контроля версий. Я понимаю, что в голом репо есть только git и другие файлы, но мне кажется, что теперь в нем есть файлы. Я уже вручную добавил, зафиксировал и отправил на github с помощью git из терминала. Поэтому я не могу сразу понять, почему он даже не распознает репо.
Есть ли кто-нибудь?
РЕДАКТИРОВАТЬ - Для пояснения, убить этот репо не имеет большого значения, если кто-то может предложить другое решение. Я хочу, чтобы git-репозиторий использовал файловую систему в моем Dropbox и мог выполнять коммит на github через Java.