Какие соглашения о присвоении имен Вы используете для Ответвлений SVN и Тегов?

лучший способ сделать это, используя общие настройки

  • 1 - вам нужно установить зависимость (см. Ссылку)
  • 2 - сделать ваш запрос http на ваш сервер, чтобы получить «ключ авторизации»
  • 3 - создать два ключа «общих настроек»:

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

код дротика, чтобы установить ключи буксировки

Future setUserLogin(String auth_token) async{
    SharedPreferences pref = await SharedPreferences.getInstance();
    pref.setString("auth_token", auth_token);
    pref.setBool("is_login", true);
 }

проверить, если вход:

  Future isUserLogin() async{
    SharedPreferences pref = await SharedPreferences.getInstance();
    return pref.getBool("is_login");
 }

получить ключ авторизации:

  Future isUserLogin() async{
    SharedPreferences pref = await SharedPreferences.getInstance();
    return pref.getString("auth_token");
 }

метод выхода из системы

  Future logout() async{
    SharedPreferences pref = await SharedPreferences.getInstance();
    pref.remove("auth_key");
   pref.remove("is_login");
 }

Я просто приведу пример того, как это сделать, вам нужно больше узнать о «SharedPreferences» по ссылке ниже, чтобы узнать больше о есть другие методы, такие как сохранение данных в SQL, но это более сложный, и я думаю, что это менее безопасно (потому что есть много корневых приложений, работающих как sqllite браузеры)

38
задан Victor Rodrigues 25 March 2009 в 14:33
поделиться

6 ответов

Я всегда снабжаю префиксом теги (и обычно переходит также) с датой в формате YYYYMMDD, сопровождаемом описанием цели тега или ответвления.

например, 20090326_Release_v6.5 или 20090326_Post_Production_Update

Это находится под стандартной магистральным/тегом/ответвлением иерархией, конечно.

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

13
ответ дан Evan 27 November 2019 в 03:55
поделиться

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

Стоит помнить то, что управление исходным кодом дает Вам. Имена тега не просто "v1.4", это - "/CashCowProject/tags/v1.4". Именование тега "/CashCowProject/tags/CashCowProject-v1.4" немного избыточно, чем еще это было бы?

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

Учитывая всю эту информацию, не трудно сплотить простое представление, дающее Вам вся информация, в которой Вы нуждаетесь, происходя из последовательных и соответствующих источников, таких как:

CashCowProject
    v1.4 - 26 March 2009     :  With Added whizzbang (more)
    v1.3 - 13 February 2009  :  Best graphics!       (more)
    v1.2 - 01 January 2009   :  Upgraded security    (more)

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

9
ответ дан Jim T 27 November 2019 в 03:55
поделиться

Для ответвления функции назовите его в честь того, что делается. Например, я переместил наш ORM от LINQ до SQL к NHibernate и создал ответвление под названием "NHibernate". После того как Вы завершили ответвление и объединили его назад в соединительную линию, можно удалить ответвление для сохранения конфликтов имен в будущем. Если действительно необходимо получить ответвление, Вы можете, просто необходимо копаться назад в истории и восстановить ее.

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

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

4
ответ дан Garry Shutler 27 November 2019 в 03:55
поделиться

Все наши задачи разработчика входят в систему отслеживания ошибок. Этой системе отслеживания ошибок связали идентификаторы с каждой задачей.

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

ticketId_TicketSubject

Когда ответвление содержит несколько ticketIds, мы просто комбинируем их на имя ответвления:

ticketId1_ticketId2_Description

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

Для тегов мы отмечаем его самим номером версии.

Что касается местоположения каждого ответвления. У нас есть высокоуровневая иерархия как это:

/branches

/tags

/trunk

Затем все наши продукты/проекты идут под каждым из продуктов/проектов в их собственных подпапках.

/trunk/project1/

/branches/project1/TicketId_Description

3
ответ дан Brian R. Bondy 27 November 2019 в 03:55
поделиться

Что мы используем (главным образом в соответствии с принятой конвенцией):

projectName
 |
 --trunk
 |
 --tags
 |
 --branches

Под соединительной линией у нас есть основная соединительная линия.

Под тегами мы отмечаем каждый выпуск (и внутренние, тестирующие выпуски и клиентские выпуски). Там мы просто используем номер версии в качестве имени тега.

При ответвлениях у нас есть одно ответвление для каждой основной версии, которую мы выпустили (в нашем случае результат одного повторения XP). Их называют как основная версия ("v5.03", "v6.04"). Кроме того, у нас есть внутренние ответвления для существенных изменений или специальных версий. Там именование является свободной формой, и имя, как предполагается, говорит людям, что представляет ответвление. Expamples был бы "workaround_customerA", "module_x_reorg" и т.д.

1
ответ дан sleske 27 November 2019 в 03:55
поделиться

Мы даем нашим ответвлениям ".X" версию, где теги имеют число.

Например, ответвлением был бы Foo 1.2.3. X, и теги был бы Foo 1.2.3.1, Foo 1.2.3.2, и т.д.

У нас также есть специальный тег, Foo 1.2.3.0, который сделан, как только ответвление создается из соединительной линии перед любыми изменениями. Это так, мы можем различные ответвления и теги к начальному состоянию в любое время (так как в паре дней, соединительная линия, вероятно, будет отличаться). Эта практика сделала слияния немного легче, и она делает выяснение что код измененный в ответвлении намного легче.

1
ответ дан Andrew Barnett 27 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

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