Ископаемое: не уполномочен писать

Что я делаю неправильно? Я понимаю, что не читал о каком-либо управлении пользователями, но я здесь полностью местный и никогда не создавал пользователей самостоятельно, так почему это не сработает?

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

person Blub    schedule 11.02.2015    source источник


Ответы (3)


Вы получаете эту ошибку, потому что у вас нет прав на изменение удаленного репозитория. Если вы не предоставляете никаких учетных данных, используется ваше имя для входа (в данном случае pc), а пользователя pc, вероятно, не существует в удаленном репозитории (иначе вы получили бы запрос на ввод пароля).

Чтобы это работало, вам нужно создать учетную запись в удаленном репозитории и использовать эти учетные данные при выполнении fossil push.

person Vikrant Chaudhary    schedule 11.02.2015
comment
команда на стороне сервера: noreferrer">имя_пользователя@localhost:8081 - person Blub; 12.02.2015

[Я не могу комментировать, но...] Вы также можете добавить учетные данные пользователя при клонировании репозитория:

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

Я единственный, кто работает над своими проектами, поэтому я настроил автосинхронизацию — всякий раз, когда я совершаю коммит, я могу коммитить локально и отправлять удаленно за один шаг [просто ископаемый коммит].

person deroses    schedule 20.04.2015

Посмотрите, работает ли следующее для вас.

$ 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 теперь имеет имя пользователя (и вы запомнили пароль при появлении запроса), он должен работать.

person jbatista    schedule 12.05.2016