使用 JGit 创建新的本地存储库失败 "with Bare Repository has neither a working tree..."
Creating a new local repository with JGit fails "with Bare Repository has neither a working tree..."
我正在尝试使用 JGit 创建本地非裸存储库。我创建目录,然后为该目录创建一个 Repository
对象,然后我使用 repository.create()
。我在这里的研究表明,这应该创建一个本地非裸存储库。但是,行 repository.create()
抛出异常
org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index.
如果我创建或引用了一个裸存储库,然后尝试向其中添加文件,这将是我期望的消息。但是,这个错误出现在创建存储库的行上,我非常清楚地创建了一个非裸存储库。 create方法的文档是:"Create a new Git repository. Repository with working tree is created using this method."
已验证目录创建成功
这是怎么回事?
File repositoryPath = "test.git";
Repository repository = new FileRepository(repositoryPath);
repository.create(false); // This line throws the error
文档和 FileRepository
(同时?)似乎属于内部包,不鼓励访问。
您可以使用 InitCommand
像这样创建存储库
Git.init().setDirectory( directory ).call()
这会默认创建一个非裸存储库,其中 directory
是工作目录,directory/.git
包含 Git 对象数据库。
为了完整起见:如果您使用 setBare( true )
调用 InitCommand
,将创建一个裸存储库,其对象数据库位于 directory
.
我正在尝试使用 JGit 创建本地非裸存储库。我创建目录,然后为该目录创建一个 Repository
对象,然后我使用 repository.create()
。我在这里的研究表明,这应该创建一个本地非裸存储库。但是,行 repository.create()
抛出异常
org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index.
如果我创建或引用了一个裸存储库,然后尝试向其中添加文件,这将是我期望的消息。但是,这个错误出现在创建存储库的行上,我非常清楚地创建了一个非裸存储库。 create方法的文档是:"Create a new Git repository. Repository with working tree is created using this method."
已验证目录创建成功
这是怎么回事?
File repositoryPath = "test.git";
Repository repository = new FileRepository(repositoryPath);
repository.create(false); // This line throws the error
文档和 FileRepository
(同时?)似乎属于内部包,不鼓励访问。
您可以使用 InitCommand
像这样创建存储库
Git.init().setDirectory( directory ).call()
这会默认创建一个非裸存储库,其中 directory
是工作目录,directory/.git
包含 Git 对象数据库。
为了完整起见:如果您使用 setBare( true )
调用 InitCommand
,将创建一个裸存储库,其对象数据库位于 directory
.