15 December 2014

Официальный релиз JetBrains Upsource 1.0: просмотр и рецензирование кода

JetBrains corporate blogJavaGit
Возможно, вы уже наслышаны, а если нет, то самое время узнать, что на днях мы выпустили первый официальный релиз Upsource.

Что такое Upsource?


Upsource — это инструмент для просмотра VCS-репозиториев, навигации по ним, а также для обсуждения и рецензирования кода (code review). Upsource предназначен для установки на собственном сервере компании и умеет работать с репозиториями Git, Mercurial, Subversion и Perforce.

В Java-проектах Upsource дополнительно осуществляет анализ кода аналогично тому, как это делает IntelliJ IDEA, а также предлагает знакомые по IDE функции Find Usages, Go to Declaration и Type Hierarchy.

Если помните, в августе мы анонсировали программу раннего доступа к Upsource, ну а сейчас дожили до релиза. Особо стоит отметить, что перед релизом мы обстоятельно подумали о лицензировании и ценах, и в итоге пришли к тому, что лицензия для небольших команд — до 10 пользователей (8 обычных пользователей, 1 гость и 1 администратор) — будет совершенно бесплатна. Для более крупных команд предлагается ряд коммерческих лицензий от 25 пользователей.

Upsource 1.0

Что Upsource умеет, а чего не умеет?


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

  • просмотр изменений в репозиториях Git, Mercurial, Subversion и Perforce;
  • поиск по истории изменений и по коду в любой ревизии;
  • чтение кода (подсветка синтаксиса большинства популярных языков прилагается);
  • обсуждение изменений и отдельных фрагментов кода;
  • полноценное рецензирование кода (code review) с несколькими ролями, причем, в отличие от ранних билдов, теперь review можно проводить как на отдельных ревизиях, так и на целых ветках Git и Mercurial, и в этом случае новые ревизии добавляются в review автоматически;
  • для Java-проектов — анализ кода, дополнительные возможности поиска и навигации (включая Go to Declaration и Find Usages).

В том же летнем посте рассказывалось, чем Upsource не является. В частности, Upsource не работает по модели SaaS и должен устанавливаться на вашем собственном сервере. Также продукт не является VCS-хостингом, а следовательно, не позволяет открывать ветки, создавать pull requests, проверять merge-конфликты и собственно проводить слияние веток. Хорошая новость заключается в том, что работы над Git-хостингом в рамках Upsource уже вовсю ведутся.

Чтобы получить представление об Upsource в его нынешнем виде за 8 минут, можно посмотреть плейлист на YouTube.

Что изменилось за последние месяцы?


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

  • Рецензирование веток (branch review). Теперь code review на ветках создается в один клик, и по мере появления в ветке новых ревизий они автоматически включаются в review.
  • UI для сравнения произвольных ревизий или веток.
  • Более точная подсветка изменений: в частности, теперь подсвечиваются изменения внутри строк кода, а в Java-проектах контекст изменений формируется в зависимости от структуры кода, в котором оно произошло.
  • Отчеты по рецензированию кода в проекте: количество рецензированных ревизий относительно их общего числа, статус review, основные рецензенты.
  • Стандартная функциональность для администраторов: резервирование/восстановление и перевод в read-only режим, необходимый для обновления версии продукта без полной остановки его служб.
  • Интеграция с любыми баг-трекерами на уровне создания ссылок по ID реквеста.
  • Поддержка Markdown в комментариях.

Для кого и для чего Upsource сейчас лучше всего подходит?


Все вышеперечисленное здорово, но возникает вопрос: подходит ли Upsource лично вам? Нам представляется, что попробовать Upsource стоит, если ваша команда (или компания) отвечает хотя бы одной из перечисленных ниже характеристик:

  • Разрабатывает проекты на Java с применением Maven и/или IntelliJ IDEA. (Поддержка Gradle обещает быть в следующем релизе.)
  • Использует несколько разных VCS из списка поддерживаемых (Git, Mercurial, Subversion и/или Perforce) и хочет получить единообразный UI для просмотра изменений и навигации по коду в своих проектах.
  • Имеет возможность установить Upsource на собственном сервере.

Сколько стоит?


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

Также предусмотрены коммерческие лицензии на 25, 50, 100, 500 и 1000 пользователей стоимостью от $1300. Коммерческие лицензии всегда включают 1 год бесплатных обновлений; опциональное продление этого срока обойдется в 50% от стоимости новой лицензии.

Следует иметь в виду, что вне зависимости от количества пользователей в той или иной лицензии, одна из учетных записей по умолчанию будет административной, еще одна — гостевой. Гостевую при желании можно отключить. Таким образом, 10 пользователей = 8 пользователей + администратор + гость; 25 пользователей = 23 пользователя + администратор + гость; и так далее.

Где взять?


Скачать продукт можно отсюда; ознакомиться с ценами — здесь.

Задать интересующие вас вопросы, естественно, можно в комментариях к этому посту.
Tags:upsourcerepositoryjavagitsvnperforcemercurialcode reviewintellij idea
Hubs: JetBrains corporate blog Java Git
+36
22.2k 68
Comments 59
Top of the last 24 hours