Repository qt: qt5 — How to update component in Qt 5.2.1+?

Содержание

Настройка git в Qt Creator



Может ли кто-нибудь объяснить, что такое свойства git в Qt Creator?
Я установил Qt Creator & git. Есть вкладка «General» в Creator’s «Options->Version control» & есть несколько вариантов: путь для проверки скриптов, путь к конфигурационным файлам & SSH promt command. Должен ли я создавать эти файлы сам?
Во вкладке «git» есть поле «Prepend to path». Это путь к git? Например, «/usr/lib/git»?
И, наконец, что такое команда для «браузера репозитория»?

git qt-creator
Поделиться Источник qloq     30 декабря 2014 в 15:28

3 ответа


  • Qt Creator-как добавить компилятор?

    Возможный Дубликат : Компилятор VC++ для создателя Qt QT5 beta2, QT creator 2.6, MSVC ошибка: Qt Creator нуждается в компиляторе, настроенном для сборки. Настройка компилятора в параметрах комплекта Я только что установил Qt Creator ( мой первый опыт работы с ним ) и получаю эту ошибку, когда. ..

  • Qt Creator не строит (Qt 5.3, последний код Qt creator)

    Я пытаюсь построить Qt creator. Qt lib, построенный просто отлично на той же машине. Я получаю qt creator, используя, казалось бы, стандартный git clone —recursive https://git.gitorious.org/qt-creator/qt-creator.git А с Qt 5.3 у меня есть: g++ -c -pipe -O2 -fvisibility=hidden…



4

Для 64-bit Windows .

  1. Установите Git для Windows .
  2. Поместите C:\Program Files\Git\bin в меню Инструменты > Параметры. .. > Контроль версий > Git > добавить к PATH :

  1. Настройте свой локальный репозиторий git в любой подходящей консоли (например, Git Bash).(
    cd /c/project
    , git init , git add * , git commit , git remote add origin [email protected]:/some/path/to/project. git , git push ).
  2. Работайте с вашим проектом в Qt Creator через инструменты > Git > локальный репозиторий > Commit… > Commit и Push...

Это все. Вероятно, вы захотите использовать ключ SSH без пароля, потому что Qt Creator не может легко справиться с вводом (и хранением) пароля SSH. Однако некоторые сторонние инструменты могут сделать это для него. Если вы хотите удалить пароль из ключа SSH, используйте ssh-keygen -p .

Поделиться Neurotransmitter

    06 сентября 2016 в 22:58



2

Обратите внимание, что если вы используете mysysgit под windows и не добавили его в PATH, вы можете установить поле «Prepend to path» в конфигурации git следующим образом:

C:\Users\ ваш аккаунт \AppData\Local\Programs\Git\mingw64\bin\

Для того, чтобы git работал.

Поделиться Axel Plinge     22 октября 2015 в 14:37



0

Вкладка Общие содержит общие параметры для всех систем VCS. По умолчанию обычно все в порядке, вам не нужно ничего трогать, если это работает для вас. Один из параметров, который вы, возможно, захотите изменить, — это «Wrap submit message at».

В опциях Git Prepend to PATH используется для установки пути к git в случае, если у вас его нет в системе PATH или вы хотите использовать версию, установленную в другом месте. Это в основном используется на Windows, это не обязательно.

Браузер репозитория-это необязательный исполняемый файл, доступный через меню Сервис -> Git -> сервис -> браузер репозитория. Это только удобство, но и не обязательное (я никогда им не пользовался).

Поделиться orgads     04 января 2015 в 07:12


  • Измените, какой локальный git repo Qt Creator использует

    Как я могу изменить, какой локальный репозиторий git Qt Creator использует? В настоящее время он указывает на git repo в моей папке ~/qt5projects/myproj/.

    git. Я хотел бы изменить его на git repo в моей папке ~/.git. Как я могу это сделать, пожалуйста?

  • Добавление существующего проекта Qt Creator в Git

    Qt Creator поставляется с функцией git, если она у вас установлена. Проблема в том, что, похоже, вы можете сделать проект контролируемым только тогда, когда создаете его? Eclipse, с другой стороны, позволяет добавить проект в систему управления версиями в любое время. Другое отличие заключается в…


Похожие вопросы:


Что такое правильный способ, чтобы настроить Qt Creator использовать Git?

Я пытаюсь использовать Git для Windows вместе с QT Creator 2.8 и с треском проваливаюсь. Я создал репозиторий на bitbucket, следуя учебнику bitbucket 101, и все работает гладко, когда я использую…


Git тайм-аут на Qt Creator

Я использую qt creator и не могу протолкнуть свои коммиты до bitbucket. Я могу совершить от qt creator, но не толкать. У меня есть некоторые исследования, и первое место, где я посмотрел, было SO, и…


Как заставить инструменты->Git — >Push работать в Qt Creator

Когда я пытаюсь Tools — >Git — >Push in Qt Creator, я получаю fatal: remote error: Invalid username/password. You may need to use your generated googlecode.com password; see…


Qt Creator-как добавить компилятор?

Возможный Дубликат : Компилятор VC++ для создателя Qt QT5 beta2, QT creator 2.6, MSVC ошибка: Qt Creator нуждается в компиляторе, настроенном для сборки. Настройка компилятора в параметрах комплекта…


Qt Creator не строит (Qt 5.3, последний код Qt creator)

Я пытаюсь построить Qt creator. Qt lib, построенный просто отлично на той же машине. Я получаю qt creator, используя, казалось бы, стандартный git clone —recursive…


Измените, какой локальный git repo Qt Creator использует

Как я могу изменить, какой локальный репозиторий git Qt Creator использует? В настоящее время он указывает на git repo в моей папке ~/qt5projects/myproj/. git. Я хотел бы изменить его на git repo в…


Добавление существующего проекта Qt Creator в Git

Qt Creator поставляется с функцией git, если она у вас установлена. Проблема в том, что, похоже, вы можете сделать проект контролируемым только тогда, когда создаете его? Eclipse, с другой стороны,…


Запустить Git Bash из Qt Creator

Можно ли назначить ярлык для запуска консоли Git Bash из Qt Creator? Например, я уже назначил Alt+G, Alt+G команде GitGui. Я не смог найти подходящую команду в Options — >Environment — >Keyboard,…


Qt Creator Git, команда для проверки

Я работаю над проектом Git-enabled Qt и хочу быстро проверить некоторые файлы из предыдущего коммита. Для этого, хотя Qt Creator предоставляет функции для проверки другой ветви, по-видимому, он не…


Умная подсветка в Qt Creator?

Ни за что на свете я не могу найти настройку, которая позволяет изменять интеллектуальную подсветку в Qt Creator. См. изображение ниже для примера. Когда я нажимаю на переменную start , Qt Creator…

Установка Qt в Ubuntu | Losst

Qt — это кроссплатформенный инструмент с открытым исходным кодом для разработки программ на языке программирования С++. Инструмент и набор библиотек были основаны в 1996 году, а сейчас их используют тысячи успешных проектов. Среди них одно из популярных окружений рабочего стола для Linux — KDE, браузер Opera, и множества других программ.

Операционная система Ubuntu не использует Qt в элементах своего интерфейса, вместо этого она работает на GTK. Если вы хотите использовать Qt в своей системе, или даже писать свои программы с помощью этой библиотеки, вам придется установить ее вручную. В этой статье будет рассмотрена установка Qt в Ubuntu 20.04.

Содержание статьи:

Что такое Qt?

Qt используется в качестве кроссплатформенной основы для разработки различного прикладного программного обеспечения, которое можно запускать на множестве аппаратных платформ без изменений исходного кода программы. Обычно Qt используется для разработки графических приложений, но библиотека поддерживает и создание программ без графического интерфейса.

Важно заметить, что Qt — это не язык программирования. Библиотека написана на C++ и поставляется со своей средой программирования Qt Creator. Она может работать в Linux, Windows и MacOS и здесь есть автоматическое завершение кода, подсветка синтаксиса, интегрирован отладчик, профилировщик, система управления версиями, а также есть поддержка визуального проектирования интерфейсов.

Установка Qt из репозитория

В официальных репозиториях Ubuntu уже есть версия Qt 5. Правда это не самая новая версия, но во многих случаях этого будет вполне достаточно.

Сначала обновите список пакетов:

sudo apt update

Теперь, чтобы установить Qt Ubuntu выполните:

sudo apt install qt5-default

Если вам также нужна установка Qt Creator Ubuntu 20.04, то это сделать тоже не так сложно:

sudo apt install qtcreator

И установите примеры программ на qt5 если это нужно:

sudo apt install qtbase5-examples qtdeclarative5-examples

Готово. Установка Qt завершена и вы можете писать с ее использованием программы. Запустить QtCreator можно из главного меню.

 

Установка самой новой версии Qt

Естественно, в репозиториях находится не самая новая версия. Если вы хотите именно новую, то придется качать пакет из официального сайта. вы можете скачать установочный пакет на этой странице. Сайт автоматически определит вашу систему и битность. Просто нажмите кнопку

Download:

Это онлайн-установщик, который позволит вам установить самую последнюю версию Qt 5 и среду разработки QtCreator. Когда загрузка файла будет завершена нужно дать ему права на выполнения. Для этого перейдите в папку, куда он был загружен, например, загрузки:

cd ~/Загрузки/

И даем права:

chmod u+x qt-unified-linux-x64-2.0.3-1-online.run

Теперь, чтобы запустить установочный скрипт вам будет достаточно выполнить:

./qt-unified-linux-x64-2. 0.3-1-online.run

Для установки не нужны права администратора и программа установит выбранную вами версию Qt в домашнюю папку. Вам осталось пройти несколько шагов мастера и несколько раз принять лицензионное соглашение. Я опишу не все шаги, а только самые интересные. Сначала вам нужно авторизоваться в своем аккаунте Qt или создать новый:

Примите лицензию и отметьте, что не будете использовать платформу в для компании:

Выберите компоненты, которые необходимо установить и дождитесь завершения установки:

Когда установка qt Ubuntu 20.04 будет завершена, вы сможете использовать самую новую версию этой библиотеки.

Выводы

Вот и все. Теперь вы знаете как установить Qt в Ubuntu 20.04. Это очень просто. Устанавливать самую новую версию немного сложнее чем версию из официальных репозиториев, но зато вы можете получить самое свежее программное обеспечение. Если у вас остались вопросы, спрашивайте в комментариях!

Оцените статью:

Загрузка. ..

Разработка кроссплатформенных приложений на С++ в среде программирования Qt

Репозиторий БГУИР: Разработка кроссплатформенных приложений на С++ в среде программирования Qt Skip navigation

Please use this identifier to cite or link to this item: https://libeldoc.bsuir.by/handle/123456789/10247

Title: Разработка кроссплатформенных приложений на С++ в среде программирования Qt
Authors: Боброва, Н. Л.
Keywords: материалы конференций
кроссплатформенные приложения
QtDesigner
Issue Date: 2015
Publisher: БГУИР
Citation: Боброва, Н. Л. Разработка кроссплатформенных приложений на С++ в среде программирования Qt / Н. Л. Боброва // Непрерывное профессиональное образование лиц с ограниченными возможностями: сборник статей международной научно-практической конференции. ( Минск, 17 — 18 декабря 2015 г. ). – Минск : БГУИР, 2015. – С. 8 – 10.
Abstract: Qt is a powerful cross-platform application development library — desktop, network and mobile devices. This article describes how to take full advantage of the most valuable of the new API, introduced in the latest version. The focus is on approaches with the greatest efficiency and flexibility, but it does not create additional difficulties.
URI: https://libeldoc.bsuir.by/handle/123456789/10247
Appears in Collections:Непрерывное профессиональное образование лиц с ограниченными возможностями (2015)

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

qt5 — Как обновить компонент в Qt 5.

2.1+?

Я только что загрузил свежий Qt 5.5 (через онлайн-установщик) для Windows и столкнулся с этой проблемой. У меня тоже было это в 5.4 по неизвестным причинам, и я не помню, как я это исправил.

Но на этот раз я смог это исправить и принял к сведению. Использование URL-адреса в другом ответе только сработало для меня. Это позволило бы мне удалять элементы, но не обновлять или добавлять новые элементы. Попытка обновить только что вызвала ошибку «Не удалось получить удаленное дерево:.«

При добавлении URL-адресов к временным / определяемым пользователем дополнениям в диалоговом окне репозитория я заметил, что неправильные URL-адреса завершились ошибкой с упоминанием update.xml. Итак, я взглянул на: http://download.qt.io/online/qt5/windows/x86/online_repository/Updates.xml

и заметил два дополнительных URL:

  

  

Первый — это решение (для систем, отличных от x86, срок его действия должен истекать вместе с URL-адресом): http://download.qt-project.org/online/qtsdkrepository/windows_x86/desktop/tools_main maintenance

Добавьте это в качестве репозитория (проверьте и при необходимости замените платформу), выберите обновление, и он, надеюсь, обновит инструмент обслуживания (в моем случае так и было, думаю, моя автономная установка была достаточно старой).

После завершения выйдите из приложения ( не выберите перезапустить , поскольку это, кажется, перезапускает старую версию) и снова откройте его.

Как только я это сделал, были добавлены все репозитории по умолчанию.

Второй URL-адрес ( http://download.qt-project.org/online/qtsdkrepository/windows_x86/root/qt ), по-видимому, является фактическим репозиторием распространения Qt, и я смог запросить новые дополнения и обновления с помощью добавляя это. Итак, я полагаю, что если нет никаких обновлений Maintenance Tool, вы могли бы получить их, используя этот URL.

Использование систем контроля версий | Qt Creator Руководство

Системы контроля версий, поддерживаемые Qt Creator:

Настройка систем контроля версий

Qt Creator использует клиенты командной строки системы контроля версий для доступа к вашим репозиториям. Чтобы разрешить доступ, убедитесь, что клиенты командной строки могут быть обнаружены с помощью переменной среды PATH или укажите путь к исполняемым файлам клиента командной строки в Tools > Options > Version Control .

После настройки системы контроля версий используйте командную строку, чтобы убедиться, что все работает (например, используйте команду status). Если не возникнет никаких проблем, вы должны быть готовы использовать систему также из Qt Creator.

Использование msysGit в Windows

Если вы настроили Git для использования только с git bash и используете авторизацию SSH, Git будет искать ключи SSH в каталоге, на который указывает среда HOME . Переменная всегда устанавливается git bash .

Однако переменная обычно не устанавливается в командной строке Windows. Когда вы запускаете Git из командной строки Windows, он ищет ключи SSH в своем установочном каталоге, и поэтому авторизация не выполняется.

Вы можете установить переменную среды HOME из Qt Creator. Выберите Инструменты > Параметры> Контроль версий> Git . Установите флажки Environment Variables и Set «HOME» Environment variable .Для HOME установлено значение % HOMEDRIVE %% HOMEPATH% , когда исполняемый файл Git запущен и авторизация работает так же, как и с git bash .

Настройка общих параметров

Выберите Tools > Options > Version Control > General , чтобы указать настройки для отправки сообщений:

  • Сценарий проверки отправляемого сообщения — это сценарий или программа, которые можно использовать для проверки отправляемого сообщения перед отправкой. Сообщение отправки передается как первый параметр скрипта. В случае ошибки сценарий должен вывести сообщение о стандартной ошибке и вернуть ненулевой код выхода.
  • Файл конфигурации пользователя / псевдонима — это текстовый файл, в котором перечислены имена авторов в формате почтовой карты. Для каждого автора вы должны указать настоящее имя и адрес электронной почты и, при желании, псевдоним и второй адрес электронной почты. Например:
     Джон Доу <Джон. [Защита электронной почты] .com> jdoe <[защита электронной почты] .com>
    Ганс Мустерманн <Ганс.[электронная почта защищена] .com> hm <[электронная почта защищена] .com> 

    После того, как вы укажете файл в этом поле, вы можете выбрать авторов в качестве значений полей отправки сообщения в диалоговом окне Псевдонимы .

  • Файл конфигурации пользовательских полей — это простой текстовый файл, состоящий из строк, определяющих поля отправки сообщения, которые принимают авторов в качестве значений, например:
     Acked-by:
    Первоначальный патч:
    Сообщает:
    Проштамповано:
    Подписано пользователем:
    Тестировался: 

    После того, как вы укажете файл в этом поле, вы можете добавить авторов в качестве значений полей сообщения отправки при отправке изменений. Если вы также указали файл конфигурации Пользователь / псевдоним , вы можете выбрать авторов в диалоговом окне Псевдонимы .

  • Команда приглашения SSH указывает команду ssh-askpass, которую вы можете использовать (в Linux), чтобы запрашивать у пользователя пароль при использовании SSH. Например, ssh-askpass или x11-ssh-askpass , в зависимости от используемой вами реализации ssh-askpass.
  • Команда исправления указывает путь к утилите исправления, которая используется для применения изменений в формате, используемом для представления вывода diff.Команда Revert использует служебную программу patch для отмены частичных изменений.

Создание репозиториев VCS для новых проектов

Qt Creator позволяет вам создавать репозитории для систем контроля версий, которые поддерживают создание локальных репозиториев, таких как Git, Mercurial или Bazaar. При создании нового проекта путем выбора File > New File или Project вы можете выбрать систему управления версиями на последней странице мастера.

Вы также можете выбрать Инструменты , а затем выбрать Создать репозиторий в подменю для системы контроля версий.

Чтобы импортировать проект, который находится под контролем версий, выберите File> New File или Project> Project from Version Control и выберите систему контроля версий, которую вы используете. Следуйте инструкциям мастера, чтобы импортировать проект.

Использование систем контроля версий

Меню Tools содержит подменю для каждой поддерживаемой системы контроля версий.

Панель вывода Управление версиями отображает выполняемые команды, отметку времени и соответствующий вывод.Выберите Window> Output Panes> Version Control , чтобы открыть панель.

Добавление файлов

Когда вы создаете новый файл или новый проект, мастер отображает страницу с вопросом, следует ли добавлять файлы в систему контроля версий. Это происходит, когда родительский каталог или проект уже находится под контролем версий, а система поддерживает концепцию добавления файлов, например Perforce и Subversion. Кроме того, вы можете добавить файлы позже, используя меню инструментов контроля версий.

В Git нет концепции добавления файлов. Вместо этого все измененные файлы должны быть подготовлены для фиксации.

Просмотр вывода дифференциала

Все системы контроля версий предоставляют опции меню для diff текущего файла или проекта: для сравнения его с последней версией, хранящейся в репозитории, и для отображения различий. В Qt Creator разница отображается в редакторе, доступном только для чтения. Если файл доступен, вы можете дважды щелкнуть выбранный фрагмент diff, и Qt Creator откроет редактор, отображающий файл, прокрученный до нужной строки.

В Git различия по умолчанию отображаются бок о бок в редакторе различий. Чтобы использовать вместо этого встроенное представление различий, выберите на панели инструментов опцию «Перейти к редактору текстовых различий» . Во встроенном представлении сравнения вы можете использовать команды контекстного меню для применения, возврата, постановки и отмены фрагментов, а также для отправки их в службу вставки кода.

Просмотр истории версий и сведений об изменениях

Отобразите историю версий файла, выбрав Журнал или Журнал файлов .Обычно вывод журнала содержит дату, сообщение фиксации и идентификатор изменения или версии. Щелкните идентификатор, чтобы отобразить описание изменения, включая разницу. Щелчок правой кнопкой мыши по идентификатору вызывает контекстное меню, которое позволяет отображать аннотации предыдущих версий (см. Аннотирование файлов). С помощью Git вы также можете выбрать вариант выбора или отменить изменение.

Аннотирование файлов

Представления аннотаций получаются путем выбора Аннотации или Авторство .При выборе Аннотировать или Автор отображаются строки файла, добавленные идентификатором изменения, из которого они происходят. При нажатии на идентификатор изменения отображается подробное описание изменения.

Чтобы показать аннотацию к предыдущей версии, щелкните правой кнопкой мыши идентификатор версии в начале строки и выберите одну из редакций, показанных в нижней части контекстного меню. Это позволяет вам перемещаться по истории файла и получать его предыдущие версии.Он также работает для Git и Mercurial с использованием SHA-1.

То же контекстное меню доступно при щелчке правой кнопкой мыши идентификатора версии в представлении журнала для отдельного файла.

Подтверждение изменений

По завершении внесения изменений отправьте их в систему контроля версий, выбрав Подтвердить или Отправить . Qt Creator отображает страницу фиксации, содержащую текстовый редактор, где вы можете ввести свое сообщение фиксации и проверяемый список измененных файлов, которые должны быть включены.

Когда вы закончите заполнение информации на странице фиксации, щелкните Commit , чтобы начать фиксацию.

Кнопка Diff Selected Files вызывает просмотр различий файлов, выбранных в списке файлов. Поскольку страница фиксации — это просто еще один редактор, вы можете вернуться к нему, закрыв окно просмотра различий. Вы также можете переключиться на открытое представление различий, выбрав его на панели Open Documents на боковой панели.

Отмена изменений

Все поддерживаемые системы контроля версий поддерживают возврат вашего проекта к известным состояниям.Эта функция обычно называется , возвращая .

Отклоненные изменения зависят от системы контроля версий.

Система контроля версий может заменить опцию меню Вернуть другими опциями.

Отмена изменений с помощью Git

В системе контроля версий Git есть индекс, который используется для внесения изменений. Индекс фиксируется при следующей фиксации. Git позволяет вернуться к состоянию последней фиксации, а также к состоянию, указанному в индексе.

  • Git > Текущий файл > Отменить неустановленные изменения отменяет все изменения и сбрасывает текущий файл в состояние индекса.
  • Git > Текущий файл > Отменить незафиксированные изменения отменяет все изменения, отбрасывая индекс. Это возвращает текущий файл в состояние, в котором он находился сразу после последней фиксации.
  • Git > Локальный репозиторий > Сброс открывает диалоговое окно, в котором вы можете выбрать SHA-1 для сброса рабочего каталога на.Это полезно, например, после применения исправлений для проверки. Вы можете выбрать между сбросом Soft , который не затрагивает ни индексный файл, ни рабочее дерево, либо аппаратным сбросом , который отменяет все изменения в отслеживаемых файлах в рабочем дереве, и сбросом Mixed , который сбрасывает HEAD и index (ничего не остается), не касаясь рабочего каталога.

Просмотр статуса

Вы можете выбрать Статус , чтобы просмотреть статус проекта или репозитория.

Обновление рабочего дерева

Вы можете выбрать Обновление , чтобы обновить рабочее дерево с последними изменениями из ветви. Некоторые системы контроля версий позволяют выбирать между обновлением текущего проекта и обновлением всех проектов.

Используя Git, вы сохраняете свои изменения, а затем извлекаете их из репозитория.

Удаление файлов

Вы можете выбрать Удалить , чтобы удалить устаревшие файлы из репозитория.

С помощью Git вы удаляете файлы из рабочего дерева, а затем обрабатываете удаленные файлы для фиксации.

Использование дополнительных базарных функций

Bazaar — это бесплатная система контроля версий, спонсируемая Canonical.

Подменю Bazaar содержит следующие дополнительные элементы:

Пункт меню Описание
Потяните Превратите ветвь в зеркало другой ветви.
Push Обновить зеркало ветки.
Отменить фиксацию Удалить последнюю зафиксированную ревизию.
Незавершенные изменения

В Bazaar фиксация изменений в ветви создает новую ревизию, которая содержит снимок состояния рабочего дерева. Чтобы удалить последнюю зафиксированную ревизию, выберите Tools > Bazaar > Uncommit .

В диалоговом окне Отменить фиксацию выберите параметры, чтобы сохранить теги, указывающие на удаленные ревизии, и удалить фиксации только из локальной ветви при оформлении заказа.

Чтобы удалить все коммиты до записи в журнале ревизий, укажите ревизию в поле Revision .

Чтобы проверить результат выполнения команды Uncommit без фактического удаления чего-либо, выберите Dry Run .

Uncommit оставляет рабочее дерево готовым к новой фиксации. Единственное изменение, которое он может внести, — это восстановление отложенных слияний, которые были до фиксации.

Использование дополнительных функций ClearCase

IBM Rational ClearCase — это решение для контроля версий, управления рабочим пространством, поддержки параллельной разработки и автоматизации сборки, разработанное IBM.Плагин клиента ClearCase доступен в Linux и Windows для доступа к серверу ClearCase.

Подменю ClearCase содержит следующие дополнительные элементы:

Пункт меню Описание
Вернуть Создать постоянную новую версию текущего файла или всех файлов в базе версионных объектов (VOB).
Действие возврата Вернуть извлеченные версии в наборе изменений текущего действия Unified Change Management (UCM).
Извлечь Создайте копию ветви с возможностью записи. Если вы извлекаете файлы в представлении UCM, они добавляются в набор изменений действия UCM.
Отменить извлечение Отменить извлечение файла и удалить извлеченную версию.
Отменить взлом Восстановить захваченные файлы. Если вы измените атрибут «только для чтения» файла, который загружается в представление моментального снимка, и измените файл, не извлекая его, вы захватите файл.

Использование дополнительных функций CVS

CVS — это система контроля версий с открытым исходным кодом.

В дополнение к стандартным функциям системы управления версиями вы можете выбрать Инструменты > CVS > Редактировать , чтобы открыть файл для редактирования. Чтобы отменить изменения, внесенные в файл, выберите Не редактировать .

Использование дополнительных функций Git

Git — это быстрая децентрализованная система контроля версий. Git доступен для Windows, Linux и Mac.

Вы можете использовать инструмент проверки кода Gerrit для проектов, использующих Git.

Работа с текущим файлом

В дополнение к стандартным функциям системы управления версиями вы можете выбрать Tools > Git > Current File > Stage File for Commit , чтобы пометить новый или измененный файл для фиксации в репозитории.

Чтобы отменить эту функцию, выберите Unstage File из Commit .

Работа с текущим проектом

В дополнение к стандартным функциям системы управления версиями вы можете выбрать Tools > Git > Current Project > Clean Project для очистки рабочего каталога.Все файлы, не находящиеся под контролем версий, отображаются в диалоговом окне Очистить репозиторий . По умолчанию игнорируемые файлы не выбраны. Выберите файлы для удаления и нажмите Удалить .

Работа с локальными репозиториями

В дополнение к стандартным функциям системы управления версиями вы можете выбрать Tools > Git > Local Repository > Clean для очистки репозитория.

Чтобы применить последние изменения к последней фиксации, выберите Инструменты > Git > Локальный репозиторий > Изменить последнюю фиксацию .Вы также можете отредактировать сообщение фиксации.

Чтобы изменить предыдущий комментарий в серии связанных коммитов, выберите Tools > Git > Local Repository > Fixup Previous Commit . Эта операция выполняется с помощью интерактивного перебазирования. В случае конфликтов предлагается инструмент слияния.

Чтобы изменить серию коммитов в локальном репозитории, выберите Tools > Git > Local Repository > Interactive Rebase .Вы можете изменить порядок коммитов или отменить их, объединить их в одну фиксацию или отредактировать сообщения фиксации.

В следующих разделах описывается, как управлять локальными и удаленными ветвями, применять исправления и использовать тайники.

Работа с филиалами

Для работы с ветками Git выберите Ветви . Извлеченная ветка выделена жирным шрифтом и подчеркнута в списке веток. Дважды щелкните названия веток, чтобы отредактировать их.

Поддерживаются следующие операции:

Пункт меню Описание
Обновить Обновить список веток.
Добавить Создайте новые отслеживающие и не отслеживающие ветви.
Удалить Удалить локальную ветвь. Вы не можете удалить удаленные ветки.
Переименовать Переименовать локальный филиал.
Checkout Извлечь выбранную ветку и сделать ее текущей. Вы можете сохранить изменения, которые вы внесли в отслеживаемые файлы.
Diff Показать различия между выбранной и текущей ветвью.
Журнал Показать изменения в ветви.
Слияние Объедините истории разработки в двух ветвях вместе.

Если объединяемая фиксация может быть достигнута путем прослеживания истории первой фиксации, нет никакой другой работы для объединения. Чтобы разрешить Git перемещать указатель ветки вперед, выберите Fast-Forward . Если вы не хотите перематывать ветвь вперед, выберите Без перемотки вперед .

Rebase Скопируйте локальные коммиты в обновленный заголовок восходящего потока.
Cherry Pick Cherry выбирает верхнюю фиксацию из выбранной ветки.
Track Установить текущую ветвь для отслеживания выбранной.
Применение исправлений

Патчи — это инструкции по перезаписи, которые можно применить к набору файлов. Чтобы применить файл исправления, открытый в Qt Creator, выберите Tools > Git > Local Repository > Apply from Editor .

Чтобы выбрать файл исправления для применения из файловой системы, выберите Применить из файла .

Использование тайников

С помощью Git вы можете поместить текущий набор изменений на виртуальную полку, называемую тайником . Тайники полезны, например, чтобы отложить набор изменений для работы над задачами с более высоким приоритетом или для извлечения новых изменений из другого репозитория.

Чтобы сохранить все локальные изменения, выберите Tools > Git > Local Repository > Stash > Stash .Рабочая копия сбрасывается в состояние, которое было после последней фиксации.

Чтобы отобразить диалоговое окно, в котором отображаются все известные тайники с вариантами восстановления, отображения или удаления, выберите Тайники .

Чтобы сохранить снимок текущей работы под именем для дальнейшего использования, выберите Сделать снимок . Рабочая копия без изменений. Например, если вы хотите что-то попробовать и позже узнаете, что это не работает, вы можете отменить изменения и вернуться к состоянию снимка.

Чтобы удалить отдельное сохраненное состояние из списка тайников и применить его поверх текущего рабочего состояния дерева, выберите Stash Pop .

Применение действий к фиксации

Чтобы просмотреть каталог или историю коммитов и применить действия к коммитам, выберите Tools > Git > Actions on Commits . Вы можете оформить заказ, отменить, выбрать коммит или просмотреть их в редакторе различий.

Работа с удаленными репозиториями

В дополнение к стандартным функциям системы управления версиями вы можете выбрать Tools > Git > Remote Repository > Pull , чтобы получить изменения из удаленного репозитория.Если есть локально измененные файлы, вам будет предложено сохранить изменения. Выберите Tools > Options > Version Control > Git , а затем установите флажок Pull with rebase , чтобы выполнить операцию rebase во время извлечения.

Управление удаленными репозиториями

Для управления удаленными репозиториями, доступными в Git, выберите Tools > Git > Remote Repository > Manage Remotes .Дважды щелкните имена и URL-адреса удаленных репозиториев, чтобы отредактировать их.

Поддерживаются следующие операции:

Пункт меню Описание
Обновить Обновить список удаленных репозиториев.
Добавить Добавить новый удаленный репозиторий.
Получить Получить все ветви и изменить информацию из удаленного репозитория.
Отправить Отправить зафиксированные изменения в удаленный репозиторий.
Удалить Удалить удаленный репозиторий.
Использование Git с Subversion

Вы можете использовать Git в качестве клиента для сервера Subversion. Чтобы получить изменения из репозитория Subversion в репозиторий Git, выберите Tools > Git > Remote Repository > Subversion > Fetch .

Чтобы просмотреть журнал Git Subversion, выберите Журнал .

Проверка кода с помощью Gerrit

Если ваш проект Git использует Gerrit для проверки кода, вы можете просмотреть свои изменения в Qt Creator.

Выберите Tools > Options > Version Control > Gerrit , чтобы указать соединение с сервером Gerrit.

Чтобы отправить зафиксированные изменения в Gerrit, выберите Tools > Git > Remote Repository > Push to Gerrit .

Чтобы просмотреть ту же информацию о каждом изменении, что и в веб-интерфейсе Gerrit, выберите Tools > Git > Remote Repository > Gerrit .

Чтобы просмотреть подробную информацию о выбранном изменении, выберите Показать .

Чтобы выделить выбранное изменение в локальный репозиторий, выберите Cherry Pick . Чтобы удалить изменение после тестирования, выберите Tools > Git > Local Repository > Reset .В диалоговом окне Отменить изменения в выберите состояние, в которое нужно сбросить рабочий каталог, а затем выберите ОК .

Чтобы проверить изменение в автономном состоянии, выберите Оформить заказ .

Чтобы обновить список изменений, выберите Обновить .

Работа с инструментами Git

Чтобы запустить графический интерфейс для Git, выберите Tools > Git > Git Tools > Git Gui .

Примечание. В OS X установка Git по умолчанию не содержит Git Gui.Чтобы использовать Git Gui, установите его отдельно. Чтобы запустить Git Gui из Qt Creator, выберите Preferences > Version Control > Git и установите путь к среде, содержащей Git Gui, в поле Prepend to PATH .

Чтобы запустить средство просмотра коммитов для Git, выберите Tools > Git > Git Tools > Gitk . Вы также можете запустить инструмент для просмотра коммитов в текущем документе или в папке, содержащей текущий документ.Чтобы указать аргументы для запуска Gitk, выберите Tools > Options > Version Control > Git .

Чтобы использовать какое-либо другое приложение для просмотра истории Git, например GitX или QGit viewer, выберите Tools > Options > Version Control > Git и укажите путь к исполняемому файлу приложения в поле Command . Чтобы запустить приложение, выберите Tools > Git > Git Tools > Repository Browser .

Чтобы разрешить конфликты слияния, выберите Tools > Git > Git Tools > Merge Tool .

Использование дополнительных функций Mercurial

Mercurial — это бесплатный инструмент управления распределенным исходным кодом.

Подменю Mercurial содержит следующие дополнительные элементы:

Пункт меню Описание
Импорт Применение изменений из файла исправления.
Входящие Отслеживайте состояние удаленного репозитория, перечисляя изменения, которые будут извлечены.
Исходящий Отслеживайте состояние удаленного репозитория, перечисляя изменения, которые будут отправлены.
Извлечь Извлечь изменения из удаленного репозитория.
Отправить Отправить изменения в удаленный репозиторий.

Использование дополнительных функций Perforce

Perforce — это быстрая система управления конфигурацией программного обеспечения, разработанная Perforce Software.

Когда вы запускаете Qt Creator, он ищет исполняемый файл, указанный в поле команды P4 в Инструменты> Параметры> Контроль версий> Perforce . Если файл не найден, на панели вывода Контроль версий отображается следующее сообщение об ошибке: Perforce: Невозможно определить репозиторий: «p4.exe» завершен кодом выхода 1 . Если вы используете Perforce, убедитесь, что путь к исполняемому файлу указан правильно в поле P4 command .

Если вы не используете Perforce, вы можете отключить плагин Perforce, чтобы избавиться от сообщения об ошибке. Выберите «Справка »> «О подключаемых модулях » и снимите флажок « Загрузить » для подключаемого модуля Perforce в группе Контроль версий .

Подменю Perforce содержит следующие дополнительные элементы:

Пункт меню Описание
Описать Просмотр информации о списках изменений и файлах в них.
Редактировать файл Открыть файл для редактирования.
Открыто Список файлов, открытых для редактирования.
Ожидающие изменения Групповые файлы для фиксации.

Использование дополнительных функций Subversion

Subversion — это система контроля версий с открытым исходным кодом.

В дополнение к стандартным функциям системы управления версиями вы можете выбрать Tools > Subversion > Describe , чтобы отображать сообщения журнала фиксации для ревизии.

Руководство пользователя Qwt: Qwt — Виджеты Qt для технических приложений

Библиотека Qwt содержит компоненты графического интерфейса пользователя и служебные классы, которые в первую очередь полезны для программ с технической подготовкой. Помимо структуры для 2D-графиков, он предоставляет шкалы, ползунки, шкалы, компасы, термометры, колеса и ручки для управления или отображения значений, массивов или диапазонов типа double.

Qwt распространяется на условиях лицензии Qwt версии 1.0.

Qwt 6.1 может использоваться во всех средах, где вы найдете Qt.Он совместим с Qt4 (> = 4.4) и всеми версиями Qt5.

Прочтите сводку наиболее важных изменений.

  • кривыескриншоты
  • спектрограммы, скриншоты
  • гистограммаскриншоты
  • прочие скриншоты
  • control скриншоты

Стабильные выпуски или предварительные выпуски доступны на странице проекта Qwt.

Для получения снимка со всеми исправлениями для последней версии 5.2:

Для получения снимка со всеми исправлениями для последней версии 6.1 релиз:

Для получения снимка разработки из репозитория SVN:

Qwt не распространяет двоичные пакеты, но сегодня все основные дистрибьюторы Linux предлагают один. Обратите внимание, что эти пакеты часто не включают примеры.

Когда нет доступных двоичных пакетов (например, в Windows) Qwt необходимо скомпилировать и установить в целевой системе.

  • Список рассылки
    Для всех вопросов, связанных с Qwt, используйте список рассылки Qwt.
    Если вы предпочитаете группы новостей, используйте почту на новостной шлюз Gmane.
  • Forum
    Qt Center — отличный ресурс для вопросов, связанных с Qt. У него есть подфорум, посвященный вопросам, связанным с Qwt.
  • Индивидуальная поддержка
    Если вам нужна индивидуальная поддержка или вам нужен кто-то, кто реализует ваш компонент / приложение Qwt, обращайтесь в suppo.nosp @ m.rt @ q.nosp @ m.wt-pr.nosp @ m.ojec.nosp @ mt орг. Отправка запросов на этот адрес без уважительной причины не использовать общедоступные каналы поддержки может игнорироваться.

QwtPolar, виджет полярного графика.
QwtPlot3D, виджет 3D-графика OpenGL.
PyQt-Qwt, оболочка Python PyQt для Qwt.

Sourceforge предлагает систему пожертвований через PayPal. Вы можете использовать его, если хотите поддержать разработку Qwt.

Авторы:
Уве Ратманн, Йозеф Вильген (<= Qwt 0.2)

Qt Creator и Git

Qt Creator и Git

Это краткое руководство по настройке репозитория git с проектом QtCreator. К чтобы это работало правильно, вам нужно создать новый репозиторий в своей лабораторной учетной записи, клонировать вставьте проект qtcreator в клон, а затем вставьте новый код.

Возможно, вы уже выполнили части этой лабораторной работы в предыдущей, но вам захочется переделать эти части, чтобы начать с чистого листа. Кроме того, это страница немного устарела, если что-то не так, спросите, и я настрою это.

  1. Создайте новый репозиторий в своей лабораторной учетной записи:
    [lab_1_11 @ localhost ~] $ git init --bare --shared qtrepo_m1_m2. git
    Инициализированный пустой общий репозиторий Git в /home/lab_1_11/qtrepo_m1_m2.git/
     
    Используйте имя, похожее на указанное выше, чтобы не разрушить предыдущий репозиторий.

  2. Вернитесь в одну из ваших личных учетных записей и клонируйте репозиторий. Если у вас есть окна машина, вы должны получить копию Git Bash, которая является более простой клиент bash, чем то, что вы использовали, но более уважительный к файлу win система. Также при установке обязательно используйте параметр «Только Git Bash».
    pfaffmaj $ pwd
    / Пользователи / pfaffmaj / cs205working
    
    pfaffmaj $ git clone ssh: //[email protected]/home/lab_1_11/qtrepo_m1_m2.git qtrepo
    Клонирование в qtrepo...
    предупреждение: похоже, вы клонировали пустой репозиторий.
     

  3. Теперь откройте QtCreator в учетной записи, где вы выполнили клонирование, и выберите «Файл> Новый файл или Project «

  4. Отсюда выберите» Other Project> Subdirs Project> Choose «

  5. В этом окне внимательно добавьте имя каталога, в котором находится ваш репозиторий и имя репозитория, который вы используете. В этом примере Name — qtrepo, как вы назвали его в процессе клонирования.Кроме того, поле «Создать в» — это каталог, в который вы помещаете репо.

  6. Вы заметите, что qtcreator поддерживает Git, просто нажмите «Готово и добавить подпроект».

  7. В этом окне выберите «Проект не QT» и «Обычный проект C ++»

  8. В этом окне добавьте имя подпроекта. Пока мы будем использовать имя лаборатории, но позже вы удалите его, потому что это всего лишь эксперимент.

  9. Продолжайте просмотр экрана qmake и выберите конфигурацию рабочего стола.

  10. Здесь вам не нужно ничего делать, кроме нажатия «Готово». Но снова добавляются новые файлы.

  11. В итоге у вас будет следующее. Нажмите кнопку запуска, чтобы убедиться все работает.

  12. Загрузите следующий файл в свой клонированный репозиторий: .gitignore. Вы должны сделать это, щелкнув правой кнопкой мыши и сохранить файл. Обязательно сделайте следующее:
    • Сохранить имя файла, включая предыдущую точку; (ОС захочет его поменять)
    • Убедитесь, что он сохранен в верхнем каталоге вашего репозитория.В этом примере это будет qtrepo. Если ваша система размещает его в другом месте, просто переместите его. Также обратите внимание, что точка на лицевой стороне указывает, что это скрытый файл, поэтому, чтобы увидеть его с помощью команды list, используйте следующую форму: ls -a .

  13. Теперь вернитесь в клонированный репозиторий и сделайте что-то вроде следующего. Сначала обратите внимание на два каталога в исходном каталоге, один из которых ранее созданный «qtrepo», а в другом qtcreator помещает все его местная работа.
    pfaffmaj $ ls
    build-qtrepo-Desktop_Qt_5_7_1_clang_64bit-Отладка qtrepo
    
    pfaffmaj $ cd qtrepo
    pfaffmaj $ ls
    лаборатория qtrepo.pro qtrepo.pro.user
    pfaffmaj $ ls -al
    всего 64
    drwxr-xr-x 7 pfaffmaj staff 238 29 января 23:44. 
    drwxr-xr-x 5 pfaffmaj staff 170 29 января 23:30 ..
    drwxr-xr-x 11 сотрудников pfaffmaj 374 29 января, 23:38 .git
    -rw-r - r-- 1 pfaffmaj staff 741 29 января 23:44 .gitignore
    drwxr-xr-x 4 pfaffmaj staff 136 29 января 23:38 lab
    -rw-r - r-- 1 персонал pfaffmaj 41 29 января 23:38 qtrepo.профи
    -rw-r - r-- 1 персонал pfaffmaj 23751 29 января 23:33 qtrepo.pro.user
    
    ### выше вы заметите, что есть файл .user, он должен
    ### нельзя добавлять в репозиторий и файл .gitignore
    ### помогите предотвратить это. Выполняя статус git, мы видим два
    Необходимо добавить ### файлы.
    
    pfaffmaj $ git status
    О мастере филиала
    
    Начальная фиксация
    
    Изменения, которые необходимо зафиксировать:
      (используйте "git rm --cached ..." для отключения)
    
    новый файл: lab / lab.pro
    новый файл: lab / main.cpp
    новый файл: qtrepo.pro
    
    Изменения, не предназначенные для фиксации:
      (используйте "git add... "обновить то, что будет совершено)
      (используйте "git checkout - ...", чтобы отменить изменения в рабочем каталоге)
    
    изменено: qtrepo. pro
    
    Не отслеживаемые файлы:
      (используйте "git add ...", чтобы включить то, что будет зафиксировано)
    
    .gitignore
    
    pfaffmaj $ git добавить qtrepo.pro
    pfaffmaj $ git add .gitignore
    pfaffmaj $ git status
    О мастере филиала
    
    Начальная фиксация
    
    Изменения, которые необходимо зафиксировать:
      (используйте "git rm --cached ..." для отключения)
    
    новый файл: .gitignore
    новый файл: lab / lab.pro
    новый файл: lab / main.cpp
    новый файл: qtrepo.pro
    
    pfaffmaj $ git commit -m "добавление проекта qtcreator"
    [master (root-commit) 1c4e1ab] добавление проекта qtcreator
     4 файла изменено, 92 прошивки (+)
     создать режим 100644.gitignore
     режим создания 100644 lab / lab.pro
     создать режим 100644 lab / main.cpp
     создать режим 100644 qtrepo.pro
    pfaffmaj $ ls
    лаборатория qtrepo.pro qtrepo.pro.user
    
    pfaffmaj $ git push
    Подсчет объектов: 7, готово.
    Дельта-сжатие с использованием до 8 потоков.
    Сжатие объектов: 100% (6/6), готово.
    Запись объектов: 100% (7/7), 989 байт | 0 байт / с, готово.
    Всего 7 (дельта 0), повторно используется 0 (дельта 0)
    На ssh: //139. 147.9.185/home/lab_1_11/qtrepo_m1_m2.git
     * [новая ветка] мастер -> мастер
    
     

  14. Пора проверить, все ли работает.Выполните следующие действия:
    1. Запустите qtcreator и нажмите «+ Новый проект».

    2. В разделе проектов выберите «Импортировать проект».

    3. Затем выберите «Git Clone» и выберите.

    4. Для окна локации установите следующие параметры:
        Репозиторий: ssh: //[email protected]/home/lab_1_11/qtrepo_m1_m2.git (ваш будет отличаться)
        Путь: где бы вы ни хотели разместить репозиторий.
        Каталог: имя хранилища.
       
      Щелкните продолжить.

    5. Если в окне Checkout в конечном итоге будет указано, что операция прошла успешно, выберите механизм компиляции. Если вы можете скомпилировать, вы закончили настройку репо. Попросите вашего партнера по лаборатории также провести проверку.


Создано: Проф. Пфаффманн

Проф. Пфаффманн, Колледж Лафайет, последнее изменение: 04.09.2017

Как скомпилировать Qt из исходного кода в Linux

С Новым годом!

В предыдущих блогах я рассказывал об установке Qt и Qt Creator в Windows и Linux с помощью установщика Qt и предварительно созданных двоичных файлов.В этом посте, предназначенном для разработчиков с навыками Qt начинающего уровня, мы рассмотрим, как вы можете собрать Qt самостоятельно из исходного кода.

Обоснование

Зачем вам собирать Qt из исходников? Хотя загружаемые предварительно скомпилированные двоичные файлы удобны и экономят время, вы можете захотеть собрать Qt, используя конфигурацию, отличную от той, которая предоставляется The Qt Company. Вы можете, например, захотеть включить или отключить различные опции или модули, чтобы они соответствовали требованиям вашей платформы и приложения.

Или вам может понадобиться собрать Qt с использованием другого компилятора C ++ или библиотеки времени выполнения. Если вы хотите протестировать альфа-версию Qt, они обычно предоставляются только в виде исходного кода. Вы также можете собрать Qt из разрабатываемой версии в репозитории git, который предоставляет только исходный код, или с определенным патчем или другим изменением, которое вам нужно.

Основные шаги

Вот основные шаги для сборки Qt на любой платформе:

  1. Скачать архив с исходным кодом.
  2. Распакуйте исходный код в рабочий каталог.
  3. Установите необходимые пакеты разработки и другие зависимости сборки для Qt.
  4. Сконфигурируйте Qt для желаемых опций и убедитесь, что соблюдены все зависимости.
  5. Собрать Qt (т.е. скомпилировать и связать).
  6. Установите и протестируйте новую версию.

ICS рекомендует Qt Commercial для поддержки, максимальной защиты IP и потому, что мы все должны поддерживать сообщество. (Компания Qt предлагает бесплатную 30-пробную версию Qt Commercial.)

Давайте, , рассмотрим процесс, чтобы сделать это на настольной системе Linux , подробно показывая команды, используемые для выполнения всех шагов. Мы будем создавать Qt изначально для работы на рабочем столе, а не как кросс-скомпилированную версию для разработки кода для встроенной целевой системы.

Пример Ubuntu

В этом примере будет использоваться 64-битная настольная версия Ubuntu Linux версии 16.04.1 LTS. Ubuntu — один из самых популярных дистрибутивов Linux для настольных ПК, и это самый последний выпуск LTS (долгосрочная поддержка).Если вы используете другой дистрибутив Linux, процесс сборки будет аналогичным, но некоторые конкретные команды будут другими.

Мы построим Qt версии 5.7.1, которая является «рекомендуемой» версией Qt на момент написания. Другие версии Qt будут следовать аналогичному процессу.

Шаг 1. Скачиваем архив с исходным кодом

Я считаю, что самый простой способ загрузить версию Qt — это перейти на сервер загрузки и перейти в соответствующий каталог. В нашем случае мы хотим выбрать http: // download.qt.io/official_releases/qt/5.7/5.7.1/single, чтобы получить доступ к официальному выпуску исходного кода Qt 5. 7.1 в виде единого архивного файла.

Здесь вы увидите несколько файлов, предлагающих выпуск в разных форматах архивов. Мы выберем qt-везде-opensource-src-5.7.1.tar.gz, , который подходит для систем Linux. Некоторые из других форматов (например, 7z) меньше, потому что они используют формат архива с лучшим сжатием, но используют менее распространенные инструменты архивирования, которые вы, возможно, не установили в своей системе.

Если вы хотите загрузить файл прямо из командной строки Linux, вы можете использовать:

%  wget http://download.qt.io/official_releases/qt/5.7/5.7.1/single/qt-everywhere-opensource-src-5.7.1.tar.gz 
 

Размер файла 422 мегабайта. Сайт загрузки Qt попытается использовать сервер-зеркало загрузки, который географически близко к вам, поэтому скорость загрузки должна быть довольно хорошей, обычно ограничиваясь только скоростью вашего интернет-соединения.

Если вы хотите убедиться, что загрузка не была повреждена, вы можете сгенерировать контрольную сумму MD5 для файла после его загрузки:

%  md5sum qt-везде-opensource-src-5. 7.1.tar.gz 
031fb3fd0c3cc0f1082644492683f18d qt-везде-opensource-src-5.7.1.tar.gz
 

В файле md5sums.txt в том же каталоге на сервере загрузки перечислены правильные контрольные суммы для каждого файла, чтобы вы могли сравнить их с тем, что вы скачали.

Шаг 2. Распакуйте исходный код в рабочий каталог

Следующим шагом будет извлечение файлов из исходного архива. Если вы скачали файл tar.gz выше, то эта команда будет работать:

%  tar xzf qt-везде-openource-src-5.7.1.tar.gz 
 

Файлы будут извлечены в каталог, который теперь вы можете cd в:

%  cd qt-везде-opensource-src-5.7.1 
 

Шаг 3. Установите необходимые пакеты разработки и другие зависимости сборки для Qt

Qt зависит от ряда инструментов и библиотек. Некоторые, например, компилятор C ++, обязательны. Другие являются необязательными, и Qt будет использовать их, если они есть, и отключать определенные функции, если они отсутствуют. Это произойдет при настройке Qt.

Выявление всех правильных зависимостей для сборки Qt часто является самой сложной частью процесса сборки. Хотя обычно все зависимости доступны в виде стандартных пакетов для вашего дистрибутива Linux, может потребоваться некоторое время, чтобы определить и установить все необходимые пакеты, особенно в чистой системе, где вы никогда раньше не собирали Qt.

В Ubuntu Linux инструмент командной строки для установки пакетов — apt-get . Для Ubuntu 16.04.1 это были пакеты, которые, как я обнаружил, необходимы для сборки Qt, будут иметь все параметры, которые я хотел:

%  sudo apt-get install bison build-essential flex gperf ibgstreamer-plugins-base0.10-dev libasound2-dev libatkmm-1.6-dev libbz2-dev libcap-dev libcups2-dev libdrm-dev libegl1-mesa-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libglu1-mesa-dev libgstreamer0.10-dev libicu-dev libnss3-dev libpci-dev libpulse-dev libssl-dev libudev-dev libx11-dev libx11-xcb-dev libxcb-complex0 libxcb-complex0-dev libxcb-cursor-dev libxcb-cursor0 libxcb-damage0 libxcb-damage0-dev libxcb-dpms libxcb-dpms0-dev libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-ewmh-dev libxcb-ewmh3 libxcb-glx0 libxcb-glx0-dev libxcb-icb-icm4 libxcb-icb-icm4 libxcb-icb-icm4 libxcb-icb-iccm4 libxcb-icc-iccm4 dev libxcb-image0 libxcb-image0-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-record0 libxcb-record0-dev libxcb-record-render-util0 util0-dev libxcb-render0 libxcb-render0-dev libxcb-res0 libxcb-res0-dev libxcb-screensaver0 libxcb-screensaver0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-shm0-dev libxcb-sync sync0-dev libxcb-sync1 libxcb-util-dev libxcb-util0-dev libxcb-util1 libxcb-xevie0 libxcb-xevie0-dev libxcb-xf86dri0 libxcb-xf86dri0-dev libxcb-xfixes0 libxcb-xfixes0-dev libcbrama-xinerama-xinerama-dev libxcbx-xinerama-xinerama-dev libxcbx-xinerama-девелопер libxcb-xkb1 libxcb-xprint0 libxcb-xprint0-dev libxcb-xtest0 libxcb-xtest0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 libxcb-xvmc0-dev libxcb-xvmc0 libxcb-xvmc0-dev libxcb1 libxcb-xvmc0-dev libxcb1 libxcb-xvmc0-dev libxcb1 lib devxcburs1 lib devxcburs1 lib devxcburs1 lib devxcburs1 lib devxcburs1 lib devxcburs1 lib devxcburs1 lib devxcburs1 lib devxcburs1 lib devxcburs1 библиотека разработчик libxfixes-dev libxi-dev libxrandr-dev libxrender-dev libxslt-dev libxss-dev libxtst-dev perl python ruby ​​
 

В другой версии Ubuntu имена некоторых пакетов, вероятно, будут отличаться. В другом дистрибутиве Linux вам обычно нужно использовать другую программу установки пакета (например, yum в Fedora Core и CentOS и zypper в openSUSE).

Шаг 4. Настройте Qt для желаемых опций и убедитесь, что соблюдаются все зависимости.

Следующим шагом является настройка Qt. Это определит параметры Qt, которые будут включены, и создаст файлы make, необходимые для его сборки. Он инициируется запуском сценария оболочки configure .В то время как configure имеет множество опций (которые вы можете отобразить, запустив configure -h ), мы просто будем использовать значения по умолчанию:

%  ./конфигурировать 
 

Это займет некоторое время, так как необходимо выполнить много тестов. Вот сокращенная версия вывода, которую я видел в своей системе:

Какую версию Qt вы хотите использовать?
Введите «c», если вы хотите использовать коммерческую версию. 
Введите «o», если вы хотите использовать Open Source Edition.
  или 
Это выпуск Qt с открытым исходным кодом.Вы имеете право использовать это программное обеспечение в соответствии с условиями
Стандартная общественная лицензия ограниченного применения GNU (LGPL) версии 3.
Вы также имеете право использовать это программное обеспечение в соответствии с условиями
Стандартной общественной лицензии GNU (GPL) версии 2.
Вы принимаете условия любой лицензии?  да 
Создание qmake .... Готово.
Запуск тестов конфигурации ...
проверка на C ++ 14 ... да.
проверка на alsa ... да.
Завершены тесты конфигурации.
Настроить сводку
Тип сборки: linux-g ++ (x86_64, характеристики процессора: mmx sse sse2)
Варианты сборки:
Конфигурация.......... доступность Accessibility-atspi-bridge alsa audio-backend avx avx2 avx512bw avx512cd avx512dq avx512er avx512f avx512ifma avx512pf avx512vbmi avx512vl c ++ 11 c ++ 14 comp ++ 1z clock-getile clock-monotile clock-getile clock-monot чашки DBus doubleconversion EGL eglfs egl_x11 enable_new_dtags evdev eventfd Fontconfig полный конфиг getaddrinfo getifaddrs бойкий HarfBuzz Iconv СИС Inotify ipv6ifname большой конфигурации largefile libudev linuxfb средней конфигурации минимальной конфигурации mremap OpenGL OpenSSL PNG poll_ppoll posix_fallocate precompile_header PulseAudio QPA QPA reduce_exports reduce_relocations релиз RPATH совместно мелко- config sse2 sse3 sse4_1 sse4_2 ssse3 system-freetype system-png system-zlib threadsafe-cloexec use_gold_linker xcb xcb-glx xcb-plugin xcb-render xcb-xlib xinput2 xkbcommon-evdev xkbcommon-qt xlib
Собирайте детали. ........... примеры инструментов libs
Режим ................... выпуск
Использование стандарта C ++ ..... c ++ 1z
Целевой компилятор поддерживает:
SSE .................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
Модули и опции Qt:
Qt D-Bus ............... да (загрузка dbus-1 во время выполнения)
Qt Concurrent .......... да
Qt GUI ................. да
Виджеты Qt ............. да
Большой файл ............. да
Отладка QML .......... да
Использовать системные прокси ..... нет
Поддержка включена для:
Доступность .......... да
ALSA ................... да
Форматы изображений:
GIF .................. да (плагин, с копией в комплекте)
JPEG ................. да (плагин, использующий комплектную копию)
OpenGL / OpenVG:
EGL .................. да
OpenGL ............... рабочий стол
OpenVG ............... нет
Система PCRE ...................
Бэкэнды QPA:
DirectFB ............. нет
EGLFS ................ да
EGLFS X11 .......... да
LinuxFB .............. да
Клиент Мир ............ нет
XCB .................. да (системная библиотека)
EGL на X . .......... да
GLX ................ да
МИТ-ШМ ............ да
Управление сеансом ..... да
Драйверы SQL:
DB2 .................. нет
цлиб .................. нет
udev ................... да
xkbcommon-x11 ........... да (связанная копия, корень конфигурации XKB: / usr / share / X11 / xkb)
xkbcommon-evdev ......... да
zlib ................... да (системная библиотека)
Qt теперь настроен для сборки. Просто запустите make.
Как только все будет построено, вы должны запустить «make install».
Qt будет установлен в /usr/local/Qt-5.7.1
Перед изменением конфигурации убедитесь, что вы удалили все остатки
предыдущая сборка.

На этом этапе configure должен указать, отсутствуют ли какие-либо требуемые зависимости. Типичное сообщение об ошибке:

make: g ++: команда не найдена
 

, что должно быть очевидным, указывая на то, что компилятор C + не установлен.

Вы также захотите проверить, включены ли желаемые параметры Qt. Важный из них, который я проверяю, — это включенные серверные части QPA. На рабочем столе Linux вы обычно используете XCB (X11), поэтому он должен отображаться с «да»:

Бэкэнды QPA:
DirectFB............. нет
EGLFS ................ да
LinuxFB .............. да
Клиент Мир ............ нет
XCB .................. да (системная библиотека)
 

Qt Quick также требует OpenGL, поэтому рекомендуется проверить наличие поддержки OpenGL, если вы хотите использовать QML:

OpenGL / OpenVG:
EGL .................. да
OpenGL ............... рабочий стол
OpenVG ............... нет
 

Если у вас отсутствуют зависимости, вам нужно будет определить пакеты Ubuntu, которые их предоставляют, установить пакеты, а затем снова запустить , настроить .Это может быть итеративный процесс при первой сборке Qt.

Шаг 5. Соберите Qt (т. Е. Скомпилируйте и скомпилируйте)

Теперь вы можете выполнить сборку, запустив make .

Большинство современных систем имеют несколько ядер ЦП, поэтому вы захотите воспользоваться их преимуществами. Вы можете передать опцию -j в make , указав, сколько заданий запускать параллельно. Одно практическое правило — использовать количество ядер минус одно, что позволяет эффективно использовать доступные ядра, при этом позволяя использовать систему для интерактивной работы.Итак, для 4-ядерной системы мы можем использовать:

%  марка -j4 
 

Это займет некоторое время, от менее часа на быстрой машине до многих часов на младшей. По умолчанию мы создаем все модули Qt, включая некоторые большие, такие как QtWebEngine, а также все примеры и демонстрации Qt.

На компьютере с ограниченным объемом памяти, скажем, менее 4 ГБ, вам может потребоваться выполнить компиляцию только с одним параллельным заданием и, возможно, закрыть все требовательные к памяти приложения, такие как веб-браузер, чтобы избежать нехватки памяти.Я обнаружил, что это может произойти при сборке QtWebEngine, так как у него есть несколько больших файлов, для компиляции которых требуется значительный объем памяти.

Возможно, что на этом этапе сборка может завершиться ошибкой из-за отсутствия некоторых зависимостей. Если это так, вам нужно будет определить отсутствующие пакеты, установить их и продолжить сборку.

После успешной сборки вы готовы перейти к этапу установки.

Шаг 6. Установите и протестируйте новую версию

Установите Qt, запустив:

%  sudo make install 
 

Расположение установки по умолчанию — / usr / local / Qt-5.7.1 , что разумно и позволяет без конфликтов устанавливать несколько версий Qt. Возможно, вы захотите использовать другое местоположение. Если это так, вы можете указать его с помощью параметра командной строки -prefix , чтобы настроить . Вы также можете добавить двоичный каталог ( /usr/local/Qt-5.7.1/bin ) в свой путь поиска, чтобы вы могли запускать такие команды, как qmake и assis tant, не всегда указывая полный путь .

В качестве быстрой проверки работоспособности мы можем попробовать запустить Qt Designer и подтвердить, что он появляется:

%  / usr / local / Qt-5.7.1 / bin / дизайнер 
 

Мы еще не создали документацию, которая будет доступна в Qt Assistant. Мы можем собрать и установить его следующим образом:

%  сделать документы 
%  sudo make install_docs 
 

В качестве теста теперь мы можем запустить Qt Assistant:

%  /usr/local/Qt-5.7.1/bin/assistant 
 

При первом запуске потребуется несколько секунд, чтобы проиндексировать файлы справки для поиска.

Готово! Ваша новая установка Qt готова к использованию. На этом этапе вы можете провести дополнительное тестирование, например, подтвердить, что вы можете запустить некоторый код QML с помощью программы qmlscene . Если вы используете Qt Creator IDE, вам следует сконфигурировать ее для добавления новой версии Qt и попробовать собрать свой собственный код или один из примеров Qt, чтобы убедиться, что он работает.

Выводы

Я надеюсь, что это руководство побудило вас попробовать собрать Qt на рабочем столе Linux.Один из способов помочь проекту Qt — создать и протестировать сборки Alpha, Beta и Release Candidate — что вы можете делать, даже если вы не разработчик Qt, если знаете, как собирать Qt из исходных текстов. Пока я пишу это, Qt 5.8.0 находится в статусе Release Candidate и может извлечь выгоду из тестирования пользователями, чтобы найти какие-либо проблемы перед окончательным выпуском.

Артикулы:

  1. Начало работы с Qt и Qt Creator в Window s, сообщение в блоге ICS, www.ics.com/blog/getting-started-qt-and-qt-creator-windows
  2. G Начало работы с Qt и Qt Creator в Linux , сообщение в блоге ICS, www.ics.com/blog/getting-started-qt-and-qt-creator-linux
  3. Сборка исходников Qt / Linux X11 , веб-сайт документации Qt, doc.qt.io/qt-5/build-sources.html#linux-x11
  4. Qt для требования X11 s, веб-сайт документации Qt, doc. qt.io/qt-5/linux-requirements.html
  5. Qt для Linux / X11 — Сборка из исходных текстов , веб-сайт документации Qt, doc.qt.io/qt-5/linux-building.html
  6. Сборка Qt 5 из Git , Qt Wiki, wiki.qt.io / Building_Qt_5_from_Git

Установка Qt — Pegasus Docs

Qt — это кроссплатформенная платформа приложений, используемая Pegasus. Требуется по крайней мере Qt 5.9, рекомендуется версия 5.12 или новее для лучшей производительности на встроенных платформах. Для настольных платформ вы можете получить инструменты Qt, используя их установщик:

Загрузите установщик Qt

Затем выполните установку и выберите компонент «Desktop gcc» (в Linux), «MinGW» (в Windows) или « macOS «(в macOS):

Теперь у вас установлены библиотеки Qt и Qt Creator IDE.

Компоненты в Windows

В Windows вы можете выбирать между пакетами компилятора MinGW и MSVC. Если вы планируете использовать Visual Studio и редактировать исходный код, вы можете выбрать соответствующий компонент MSVC вместо MinGW.

Встроенный

Эти инструкции предназначены для настольных систем и платформ . Для встраиваемых устройств вам необходимо скомпилировать Qt вручную или использовать готовые библиотеки, доступные на странице Pegasus GitHub. Смотрите страницу кросс-компиляции Qt для получения дополнительной информации.

Linux

Во многих дистрибутивах Linux библиотекам Qt в официальных репозиториях часто несколько лет (как компромисс между стабильностью и доступом к новейшему программному обеспечению), либо отсутствуют некоторые компоненты.

Ubuntu, Debian

Debian 10 (buster) и Ubuntu 19.04 или более поздняя версия содержит последние версии Qt, поэтому сборка Pegasus должна быть возможна с использованием следующих пакетов:

  • qtdeclarative5-dev
  • qtmultimedia5-dev
  • libqt5gamepad5-dev
  • libqt5svg5-dev
  • qml-module-qtgraphicaleffects

Более ранние выпуски содержат несколько обновленных выпусков Qt, но необходимые пакеты. Вы можете использовать установщик Qt (см. Выше) или следующий PPA:

  sudo add-apt-repository ppa: beineri / opt-qt-5.11.1-bionic

sudo apt-get update
sudo apt-get install \
    qt59declarative \
    qt59graphicaleffects \
    qt59gamepad \
    qt59imageformats \
    qt59multimedia \
    qt59svg \
    qt59tools

источник /opt/qt511/bin/qt511-env.sh
  

Чтобы использовать эту установку, вам необходимо позвонить по телефону /opt/qt511/bin/qt511-env.sh (или / opt / qt59 / bin / qt59-env.sh на 14.x / 16.x) каждый раз, когда вы открываете новый терминал. Вы можете сделать это, добавив строку source ... выше в ваш файл ~ / .bashrc (или любую другую оболочку, которую вы используете).

16.04 и 14.04

В старых выпусках Ubuntu вы можете использовать ppa: beineri / opt-qt596-xenial и ppa: beineri / opt-qt596-trusty .

Arch

Если вы используете Arch , вы можете получить Qt из AUR; вот соответствующая страница вики.

Windows

MSYS2

Qt доступен в репозиториях MSYS2.См. Https://wiki.qt.io/MSYS2.

vcpkg

На момент написания Qt 5.9 доступен в vcpkg в качестве порта.

macOS

Homebrew

Qt доступен в репозиториях Homebrew, но может быть устаревшим. См. Http://brewformulas.org/qt5.

добавить поддержку вложенных репозиториев (закрывается # 105169) (Logilab.org)

diff —git a / hgviewlib / qt4 / hgqv.ui b / hgviewlib / qt4 / hgqv.ui @@ -129,10 +129,24 @@
1  ложь 
2 
3 
4 
5 
6 + 
7 + 
8 +  истина 
9 + 
10 + 
11 +  панель инструментов QuickOpen 
12 + 
13 + 
14 +  TopToolBarArea 
15+ 
16 + 
17 +  ложь 
18+ 
19 + 
20 
21 
22  верно 
23 
24 
 
diff —git a / hgviewlib / qt4 / hgrepoviewer. py b / hgviewlib / qt4 / hgrepoviewer.py @@ -7,23 +7,25 @@
25 # Стандартной общественной лицензии GNU, включенной сюда посредством ссылки.
26 "" "
27 Основное приложение Qt4 для hgview
28 "" "
29 импортных систем, ос
30 + импортировать os.path как osp
31 импорт ре
32 import errno
33 из functools import partial
34
35 из PyQt4 импортировать QtCore, QtGui, Qsci
36
37 -из ртутного импорта ui, рт.
38 + из Mercurial import ui, hg, config
39 из ртутного импорта утилит
40 из mercurial.error import RepoError
41 год
42
43 из hgviewlib.приложение импортирует HgRepoViewer как _HgRepoViewer
44 -из hgviewlib.util import tounicode, find_repository, rootpath, build_repo
45 + из импорта hgviewlib.util (tounicode, find_repository, rootpath, build_repo,
46 + read_nested_repo_paths)
47 из hgviewlib.hggraph импортировать diff как revdiff
48 из hgviewlib.decorators import timeit
49 из hgviewlib.config импорт HgConfig
50
51 из hgviewlib.qt4 импортировать значок как geticon
 
@@ -83,11 +85,12 @@
52, если я. repo.root не равно None:
53
54 self.setupHeaderTextview ()
55 self.setupBranchCombo ()
56 self.setupModels (из головы)
57 -
58 + self.setupQuickOpen ()
59 +
60, если self.cfg.getFileDescriptionView () == 'asfile':
61 файлselcallback = self.displaySelectedFile
62 еще:
63 fileselcallback = self.textview_status.displayFile
64 connect (self.tableView_filelist, СИГНАЛ ('fileSelected'),
 
@@ -111,10 +114,33 @@
65 сам.statusBar (). showMessage ("Репозиторий был изменен",
66 «Перезарядка ...», 2000 г.)
67
68 self.reload ()
69
70 + def setupQuickOpen (self):
71 + # быстрое открытие репозитория
72 + self.quickOpen_comboBox.clear ()
73 + repopath = osp.abspath (self.repo.root)
74 + # поиск назад до корневой папки для мастера
75 + # репозиторий, содержащий данные confman или subrepo
76 + repopaths = set ([(osp.basename (repopath), repopath)])
77 + пока репопатй! = Osp.dirname (repopath): # проверить корневую папку системы
78 +, если osp.exists (osp.join (repopath, '.hg')):
79 + подпути = read_nested_repo_paths (репозиторий)
80 + если подпути:
81 + repopaths. add ((osp.basename (repopath), repopath))
82 + repopaths.update (подпути)
83 + break # нет необходимости идти дальше со списком
84 + # TODO: добавить дерево с полным графиком.
85 + repopath = osp.dirname (путь к репозиторию)
86 + curidx = 0
87 + для idx, (текст, данные) в перечислении (отсортировано (репопаты)):
88 + если data == self.repo.root:
89 + curidx = idx
90 + self.quickOpen_comboBox.addItem (текст, данные)
91 + self.quickOpen_comboBox.setCurrentIndex (curidx)
92 +
93 def setupBranchComboAndReload (self, * args):
94 self.setupBranchCombo ()
95 self.reload ()
96
97 def setupBranchCombo (self, * args):
 
@@ -159,10 +185,16 @@
98
99 findaction = self.find_toolbar.toggleViewAction ()
100 findaction.setIcon (geticon ('найти'))
101 self.toolBar_edit.addAction (findaction)
102
103 + cb = self.quickOpen_comboBox = QtGui.QComboBox ()
104 + cb.setStatusTip («Быстрое открытие других репозиториев»)
105 + self.quickOpen_action = self.toolBar_quickopen.addWidget (cb)
106 + _callback = лямбда: self. open_repository (str (cb.itemData (cb.currentIndex ()). ToPyObject ()))
107 + self.quickOpen_comboBox.activated.connect (_callback)
108 +
109 # панель инструментов древовидных фильтров
110 сам.toolBar_treefilters.addAction (self.actionShowHidden)
111 self.toolBar_treefilters.addAction (self.tableView_revisions._actions ['unilter'])
112 self.toolBar_treefilters.addAction (self.actionShowHidden)
113
 
@@ -230,10 +262,11 @@
114 Эта функция считывает постоянные настройки, относящиеся к панели инструментов, из QT API.
115 Он также настраивает хуки на изменения видимости, чтобы
116 настойчивый.
117 "" "
118 тулбаров = (self.toolBar_file,
119 + я.toolBar_quickopen,
120 self.toolBar_edit,
121 self.toolBar_treefilters,
122 self.toolBar_diff,
123 self.toolBar_rev,
124 self.toolBar_help)
 
@@ -250,10 +283,11 @@
125 # обновить настройки переключения видимости
126 toolbar.toggleViewAction (). Toggled [bool] .connect (
127 частичное (settings.setValue, имя записи)
128)
129
130 +
131 def createActions (self):
132 # действия в главном окне (из. ui файл)
133 connect (self.actionOpen_repository, СИГНАЛ ('triggered ()'),
134 self.open_repository)
135 connect (self.actionRefresh, СИГНАЛ ('triggered ()'),
 
@@ -533,26 +567,27 @@
136 если mtime:
137 возврат макс (mtime)
138 # хамм, каталог, вероятно, был удален, закрытие ...
139 self.close ()
140
141 - def ask_repository (сам):
142 - qrepopath = QtGui.QFileDialog.getExistingDirectory (
143 - сам,
144 - 'Выбрать ртутный репозиторий',
145 - сам.repo.root или os.path.expanduser ('~'))
146 - репозиторий = find_repository (str (qrepopath))
147 - если не repopath:
148 + def ask_repository (self, repopath = None):
149 +, если repopath равен None:
150 + qrepopath = QtGui.QFileDialog.getExistingDirectory (
151 + я,
152 + 'Выбрать ртутный репозиторий',
153 + self.repo.root или os.path.expanduser ('~'))
154 + repopath = find_repository (str (qrepopath))
155 +, если нет (репозиторий или self.repo.root):
156, если не self.repo.root:
157 поднять RepoError («Здесь нет репозитория Mercurial (. hg не найден)!»)
Еще 158:
159 возврат
160 репо = build_repo (ui.ui (), репозиторий)
161 возвратное репо
162
163 - def open_repository (сам):
164 - репо = self.ask_repository ()
165 + def open_repository (self, repopath = None):
166 + репо = self.ask_repository (путь к репо)
167, если не репо:
168 возврат
169 сам.репо = репо
170 self.cfg = HgConfig (self.repo.ui)
171 self.setWindowTitle ('hgview:% s'% os.path.abspath (self.repo.root))
 
@@ -567,10 +602,11 @@
172
173 def _finish_load (сам):
174 self._repodate = self._getrepomtime ()
175 self.setupBranchCombo ()
176 self.setupModels ()
177 + self.setupQuickOpen ()
178
179 # @ timeit
180 def refreshRevisionTable (self, * args, ** kw):
181 "" "Запускает процесс заполнения HgModel" ""
182 филиал = ул (сам.branch_comboBox.currentText ())
 
diff —git a / hgviewlib / util.py b / hgviewlib / util.py @@ -7,12 +7,14 @@
183 # Стандартной общественной лицензии GNU, включенной сюда посредством ссылки.
184 "" "
185 Несколько вспомогательных функций
186 "" "
187 импортных ОС
188 + импортировать os. path как osp
189 импортная строка
190 от Mercurial Import ui, рт.
191 + из пользовательского интерфейса Mercurial import, config
192
193 из hgviewlib.hgpatches.scmutil import match
194 из hgviewlib.hgpatches import preursorsmarkers, successorsmarkers
195
196 def tounicode (строка):
 
@@ -184,5 +186,38 @@
197 "" "построить репо как hg.хранилище
198
199 Но убедитесь, что он не фильтруется независимо от используемой версии "" "
200 репо = hg.repository (ui, путь)
201 вернуть getattr (репо, 'неотфильтрованное', лямбда: репо) ()
202+
203+
204 + def read_nested_repo_paths (путь к репозиторию):
205 + '' '' Вернуть список пар `` (имя, путь) ''. Они описывают
206 + суб-репозиториев, управляемых * confman *, * subrepo * и * guestrepo *
207 + в главном репозитории, расположенном по адресу `` repopath`` ''
208 + # Не просим в api расширения (нет паблика
209 + # api).Потому что настройка hg для использования расширения - это просто больше
210 + # сложнее, чем наивный подход.
211 +
212 + # все они имеют одинаковые настройки: файл в корне
213 + # папка в стиле rc. 
214 + помощники = (
215 + ('.hgconf',
216 + лямбда-конф: конф,
217 + lambda conf, path: conf [path] ['layout']. Split ('/')),
218 + ('.hgsub',
219 + lambda conf: conf [''],
220 + лямбда-конф, путь: path.split ('/')),
221 + ('.hgguestrepo',
222 + lambda conf: conf [''],
223 + лямбда-конф, путь: путь.расколоть('/')),
224+)
225 + выход = []
226 + для conffile, getname, getpath в помощниках:
227 + confpath = osp.join (repopath, conffile)
228 + если не существует osp.exists (confpath):
229 + продолжить
230 + conf = config.config ()
231 + conf.read (confpath)
232 + out.extend ((имя, osp.abspath (osp.join (repopath, * getpath (conf, name))))
233 + для имени в getname (conf))
234 + возврат
 
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Theme: Overlay by Kaira Extra Text
Cape Town, South Africa