Fossil:未授权写作

Fossil: not authorized to write

我做错了什么?我意识到我没有阅读任何用户管理,但我完全是本地人,我自己从未创建过任何用户,所以为什么它不起作用?

pc@pc-desktop:~/Desktop$ ./fossil test-hash-passwords test-fossil 
pc@pc-desktop:~/Desktop$ ./fossil server
Listening for HTTP requests on TCP port 8080


pc@pc-desktop:~/testcheckout$ ./fossil clone http://localhost:8080 bla
pc@pc-desktop:~/testcheckout$ ./fossil add .
current directory is not within an open checkout
pc@pc-desktop:~/testcheckout$ ./fossil open bla
pc@pc-desktop:~/testcheckout$ ./fossil add .
pc@pc-desktop:~/testcheckout$ ./fossil test-hash-passwords test-fossil 
pc@pc-desktop:~/testcheckout$ ./fossil push
Push to http://localhost:8080
Round-trips: 1   Artifacts sent: 0  received: 0
Error: not authorized to write
Round-trips: 1   Artifacts sent: 0  received: 0
Push finished with 385 bytes sent, 303 bytes received

您收到该错误是因为您没有修改远程存储库的权限。当您不提供任何凭据时,将使用您的登录名(在本例中为 pc)并且远程存储库中可能不存在 pc 用户(或者您会收到密码提示).

要完成这项工作,您需要在 远程 存储库上创建一个帐户,并在执行 fossil push.

时使用这些凭据

[我无法发表评论,但是...] 您还可以在克隆存储库时添加用户凭据:

fossil clone http://username:pass@URL:8080 repository_name

我是唯一一个在我的项目上工作的人,所以我设置了自动同步 - 每当我提交时,我都可以一步提交本地并发送远程 [只是化石提交]。

看看下面的方法是否适合你。

$ whoami
pc
$ fossil version
This is fossil version 1.34 [62dcb00e68] 2015-11-02 17:35:44 UTC

克隆远程存储库(本地用户名,pc,在远程存储库上有一个同名帐户)。

$ fossil clone http://localhost:8080 bla.fossil

此克隆的远程存储库 URL 是什么?

$ fossil remote-url -R bla.fossil
http://localhost:8080

好的,让我们指定远程用户名;我们将使用与本地用户名相同的用户名,$USER:

$ fossil remote-url -R bla.fossil http://$USER@localhost:8080
password for bla:
remember password (Y/n)? y

让我们开始工作吧:

$ mkdir bla
$ cd bla
$ fossil open ../bla.fossil

最后,提交到您的本地存储库 bla.fossil。最后,推送到远程:

$ fossil push

因为 remote-url 现在有了用户名(并且您在提示时记住了密码)它应该可以使用。