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
现在有了用户名(并且您在提示时记住了密码)它应该可以使用。
我做错了什么?我意识到我没有阅读任何用户管理,但我完全是本地人,我自己从未创建过任何用户,所以为什么它不起作用?
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
现在有了用户名(并且您在提示时记住了密码)它应该可以使用。