我做错了什么?我意识到我没有读过任何用户管理,但我完全是本地的,并且我自己从未创建任何用户,所以为什么它不起作用?
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
答案 0 :(得分:4)
[我无法发表评论,但......] 您还可以在克隆存储库时添加用户凭据:
fossil clone http://username:pass@URL:8080 repository_name
我是唯一一个处理我项目的人,因此我设置了自动同步 - 每当我提交时,我都可以提交本地并一步发送远程[仅化石提交]。
答案 1 :(得分:2)
您收到该错误是因为您没有权限修改远程存储库。如果您不提供任何凭据,则使用您的登录名(在这种情况下为pc
),并且pc
用户可能在远程存储库中不存在(或者您已收到密码提示)。
要使其工作,您需要在远程存储库中创建一个帐户,并在执行fossil push
时使用这些凭据。
答案 2 :(得分:0)
查看以下内容是否适合您。
boolean isNumber = record.get("key").type().equals(session.typeSystem().NUMBER());
克隆远程存储库(本地用户名$ whoami
pc
$ fossil version
This is fossil version 1.34 [62dcb00e68] 2015-11-02 17:35:44 UTC
,在远程存储库上有一个同名帐户。)
pc
此克隆的远程存储库URL是什么?
$ fossil clone http://localhost:8080 bla.fossil
好的,我们指定远程用户名;我们将使用与本地用户名相同的$ 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
现在有了用户名(并且在提示时你记住了密码),所以它应该有效。