#mercurial #sourceforge
#mercurial #sourceforge
Вопрос:
У меня есть каталог с именем «Proyectos» с кодом Django внутри.
Мне нужно выполнить коммит проекта в Source Forge, чтобы мой учитель мог «загрузить» весь код на свой компьютер.
Я думаю, мне следует использовать некоторые из этих адресов:
http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/phone-apps-djan (read-only)
ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan (read/write)
Я сделал это на Kubuntu:
lucas@lucas-Satellite-L305:~/Desarrollo/Python/Django/Proyectos$ hg clone http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/django-mercurial
но создается только папка.
Я новичок и не нашел, как это сделать. Я следовал некоторым руководствам, но я не могу понять многие концепции.
Я был бы признателен за некоторую помощь в этом, пожалуйста.
Заранее спасибо.
Ответ №1:
У вас есть два разных адреса для доступа к вашему репозиторию Mercurial в sourceforge :
http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/phone-apps-djan (read-only)
как сказано после адреса, этот доступен только для чтения, каждый может клонировать ваш проект, чтобы они могли видеть исходные тексты и компилировать / использовать его. Аутентификация отсутствует. Когда вы используете этот адрес, Mercurial использует протокол HTTP для извлечения изменений.ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan (read/write)
вы можете выполнить запись в свой репозиторий по этому адресу, но вы должны аутентифицироваться (вам нужно будет ввести свой пароль), и Mercurial использует протокол SSH для этого. Вы также можете увидеть свое имя пользователя в sourceforge в адресе.
Прежде всего, вы должны создать еще один клон вашего проекта со вторым адресом, иначе вы не сможете выполнить коммит. Просто cd
в новом каталоге и выполните :
hg clone ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan
Вам должно быть предложено ввести пароль вашей учетной записи sourceforge.
Затем вы можете создать компакт-диск во вновь созданном каталоге, внести все свои изменения, добавить файлы и т.д. Когда вы закончите, вы можете сделать hg commit
, а затем hg push
опубликовать изменение в своем репозитории. При добавлении нового файла в каталог не забудьте сделать hg add
или hg addremove
.
Вы можете найти действительно хорошее и простое руководство по mercurial в Hg Init, вам следует прочитать его и попытаться понять рабочий процесс, прежде чем что-либо делать в sourceforge.
Удачи с вашим проектом 🙂
Ответ №2:
Большое спасибо Робу Соберсу и Кртеку за их ответы. Я, наконец, смог добавить все свои файлы в SourceForge. Я следовал их инструкциям, и все прошло нормально, хотя у меня были некоторые незначительные осложнения.
Это пошаговый ответ на мои вопросы:
Над папкой «Proyectos» я сделал:
-
hg clone ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan
и ввел пароль для моей учетной записи SourceForge. Была создана папка «phone-apps-djan». -
hg add
после того, как яcd
вошелphone-apps-djan
в и скопировал все файлы моего проекта в эту папку. -
hg commit
. На этом этапе произошла ошибка:abort: no username supplied (see "hg help config")
. Итак, я создал файл с именем.hgrc
в моем домашнем каталоге и добавил эти строки:[ui] username = my username at sourceforce <the mail address I supplied when registering> verbose = True
Затем я повторно вошел hg commit
.
-
hg push
. Было отображено следующее сообщение об ошибке:abort: repository default-push not found!
. Затем я просто отредактировал .файл hgrc, созданный на последнем шаге и добавленный:[paths] default = ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-dja
Я действительно не понимаю, что здесь произошло, потому что .hg
каталог в моем репозитории уже содержит hgrc
файл с этим путем :(. В любом случае, я сделал hg push
снова.
И это было все.
Ответ №3:
Выполняем hg clone
загрузку репозитория на ваш компьютер. Теперь, чтобы обновить ваш рабочий каталог (чтобы вы могли работать с файлами), введите hg update
.
Когда вы закончите вносить изменения, введите hg commit
, чтобы записать их. Когда вы будете готовы загрузить свои изменения в SourceForge, введите hg push http://path/to/repo
. Убедитесь, что вы нажимаете на правильный репозиторий!
Комментарии:
1. Спасибо за ответ, Роб. Вот что я делаю: сначала я вручную копирую все файлы из уже существующего проекта в новую папку с именем «Proyectos», затем загружаю компакт-диск в эту папку. После этого я делаю «hg commit», а затем «hg push phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan / … «, чтобы загрузить все файлы в SourceForge. Но отображается это сообщение: изменений не найдено. Итак, я думаю, что я делаю что-то неправильно, потому что кажется, что файлы не загружаются… пожалуйста, помогите еще раз. Приветствия!.
2.
hg push
не сработает, Лукас клонировал репозиторий с адресом, доступным только для чтения, SF отклонит любое входящее изменение.3. @Krtek это должно работать до тех пор, пока он указывает путь назначения при нажатии и не использует
default-push
путь, который будет адресом только для чтения.4. да, но тогда вам следовало бы дать небольшое объяснение двум адресам, и всегда проще использовать URL для чтения / записи в качестве пути по умолчанию. Я не думаю, что Лукас пока имеет представление о Mercurial, боюсь, ваш ответ ему не сильно поможет. @Lucas вы добавили свой файл в рабочий каталог? вы можете увидеть мой ответ по ссылке на хороший учебник.
5. @Lucas После того, как вы вручную скопируете свои файлы в «Proyectos», поместите компакт-диск в папку и введите,
hg add
затем введитеhg commit
затемhg push