liosha
(liosha)
101
Download: GET /api/0.6/changeset/#id/download
Returns the OsmChange document describing all changes associated with the changeset.
liosha
(liosha)
102
Ilis
(Кругликов Илья)
103
Changeset - объект OSM, логически и по времени группирующий edit-ы конкретного пользователя. В зависимости от контекста может обозначать как сеанс загрузки edit-ов на сервер (create - upload diff - close), так и сам набор этих edit-ов (get, view).
Upliner
104
Я хорошо представляю как всё работает, но всё-таки склонен рассматривать changeset как объект.
Там где “скачать теги” написано так:
liosha
(liosha)
105
Upliner, тогда уже есть смысл спорить 
Итак чем же changeset отличается от сеанса внесения правок в базу?
Upliner
106
Ну, от обычных сеансов(вроде сессий на этом форуме) changeset отличается хотя бы тем, что хранит в себе полезную нагрузку. Я считаю, Ilis здесь прав – сам сеанс и объект, хранящий информацию о сеансе(текущем, прошедшим или будущем) – это разные вещи.
Сходство с сеансами получается, так как сейчас операции с changeset-ами практически всегда производятся “вживую” в базе. Но и в этом случае их правильнее сравнивать с commit-ами в cvs(там они не атомарны).
liosha
(liosha)
107
Почему же, у сессии на этом форуме (от логина до разлогина) есть точно такая же нагрузка: посты, например.
Сам по себе сеанс (реальный процесс) и объект БД, хранящий информацию об этом процессе - это естественно, разные вещи. Но вроде как их принято называть одним словом.
Changeset - объект ОСМ, хранящий информацию о сеансе внесения правок в базу.
Так лучше? 
Changeset без базы существовать и не может, он тогда превратится в обыкновенный diff (вот его уже можно назвать “набором изменений”).
Смысл changeset-а именно в том, что его правки внесены в базу.
Calibrator
(Calibrator)
108
Прошу прощения за занудство, и за то, что прерываю учёную беседу. Нол меня интересует конкретика - как вписать перевод в базу данных локализации. Я внимательно следил за вашими интересными доказательствами. Пробую очередную итерацию. Как вам этот вариант (вариант не чисто мой - это отчасти и ваши переводы):
перевод фраз, содержащих “changeset” (Вариант 3)
Close open changesets - Закрыть сеанс
Downloading open changesets… - Скачивание правок открытого сеанса
Changeset closed - Сеанс закрыт
Show changeset - Показать правки сеанса
Close the selected open changesets. - Закрыть отмеченные сеансы
Please enter a comment for this upload changeset (min. 3 characters) - Введите комментарий для данного сеанса
Upliner
109
Нет, тут случай другой. Полезная нагрузка changeset-а – это теги и ID пользователя(а не diff-данные). А посты на форуме в большинстве движков даже не имеют ссылок на сессию, в которой они были созданы.
Об объекте как правило речи не идёт. Но даже когда заходит – он не хранит в себе ничего, кроме данных о сеансе, и как правило неразрывно и двусторонне с ним связян.
Upliner
110
Когда идёт группировка по времени – тут действительно получается сеанс. А когда речь идёт о логической группировке – здесь есть простор для фантазии.
Грубо говоря вот так:
<osm>
<!-- many nodes inserted -->
<way action="modify" id="-1" changeset="-1">
<tag k="railway" v="rail"/>
<!-- many noderefs -->
</way>
<way action="modify" id="-2" changeset="-2">
<tag k="waterway" v="river"/>
<!-- many noderefs -->
</way>
<changeset action="modify" id=-1">
<tag k="comment" v="traced railway" />
</changeset>
<changeset action="modify" id=-2">
<tag k="comment" v="traced river" />
</changeset>
</osm>
Уже есть повод написать свой скрипт для upload-а ;))
Короче: есть данные о сеансе(открытие-закрытие, uid), которые имеют смысл только в БД, а есть теги, которые позволяют группировать логически, и они имеют смысл в любом месте. И сеансы уже тут совсем не причём.
liosha
(liosha)
111
<changeset action=“modify” id=-2"> - это что-то внутриджосмовское.
В этот момент реально никаких changeset-ов ещё не существует.
Идёт планирование сеансов загрузки.
Upliner
112
Ну почему? Данные о логическом разбиении в виде changeset-ов существуют с тех пор, как их “нарисовали”. Да, в них отсутствуют данные о сеансах(по причине их отсутствия), но зато используются возможности changeset-ов как объектов.
Zkir
(Kirill Bon )
113
Если это то собщение, которое джосм показывает, пока скрипит интернетом, то должно быть так:
*Cкачиваются правки открытого сеанса *
Upliner
114
Кстати, а почему так переводится? У вас ведь вроде разные changeset-ы это разные сеансы. И соответственно должно переводиться как “Скачиваются открытые сеансы”.
Ilis
(Кругликов Илья)
115
Так хуже. Changeset хранит информацию о том, кто, чем, когда и какие правки сделал.
И вообще, мы обсуждаем список терминов, а Вы уже в само определение термина пытаетесь вставить перевод. К чему тогда обсуждение, и тем более голосование?
liosha
(liosha)
116
Upliner,
мне всё-таки кажется, что API первичнее по отношению к Josm-у.
И поэтому термины стоит определять именно по отношению к API.
А там нет никаких , там есть /changeset/create и changeset/…/close
Вообще, давай попробуем снизу. 
Что у нас имеется:
-
Edit - атомарная правка, изменение свойств одного объекта с изменением его версии на 1.
-
osmDiff - набор едитов
- Внесение этого диффа в базу, и применение его едитов (снабжённое комментариями).
С этим спорим? 
Upliner
117
Структура данных не обязательно должна быть к чему-либо привязана. Её можно рассматривать вне всего этого. И в этой структуре changeset-ы несут дополнительную информацию, описывающую карту(нюансы картографирования).
Это что? Атомарные операции, поддерживаемые непосредственно в API? Таковыми являются только первые две.
liosha
(liosha)
118
Это вообще все единицы изменений.
Атомарная - только первая.
Upliner
119
А, ну понял. В Если сравнивать с теми же CVS/SVN, то список будет таким:
- Добавление/Удаление строки (обозначаемые в diff-файле как + и -)
- diff-файл, состоящий из множества операций удаления/добавления
- Commit – применение всех правок, снабжённое комментариями.
Однако, мало кто назовёт commit сеансом. Он конечно предполагает некий сеанс передачи данных, но такой же сеанс открывается например при скачивании, и название не отражает сути…
liosha
(liosha)
120
Ну, если не придираться к мелочам, то примерно да.
Едем дальше.
C 1-м уровнем (edit) вроде вопросов нет, это одна операция создать/изменить/удалить ноду/вей/релейшен.
2-й уровень (osmDiff) - это набор edit-ов, без всяких дополнительных тегов. В API используется для:
Вот этот diff, имхо, и стоило бы называть “набором правок”, просто потому что он представляет собой именно набор правок.
Тут нам есть о чём спорить? 