crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

6 страниц V  < 1 2 3 4 > »   
Ответить в данную темуНачать новую тему
> Git против SVN
Tonal
  опции профиля:
сообщение 28.1.2010, 8:18
Сообщение #11


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 27.1.2010, 13:28) *
Цитата(Tonal @ 27.1.2010, 12:04) *
У git-а под виндой с русскими названиями файлов полная труба.
у меня есть единственный файл - misc/протокол_Микродат.txt, проблемы ни какой не заметил

И меня подобных много - клиенты присылают документы с русскими названиями.
Все они при импорте из svn стали называться как-то так (цифры от болды):
\x56\x98\x21\x74\x54.doc
Это на винде. На Linux-е проблем действительно нет. :)

Цитата(Iron Bug @ 27.1.2010, 23:36) *
3)
Я, до сих пор, не нашёл способа экспортировать правку/файл из Git-хранилища в произвольный каталог.
В SVN'е это делается элементарно.

В смысле из удалённого репа выдернуть файлы без образования рабочий копии?
Если реп локальный, то вроде как просто копируешь нужное в нужный каталог...
Ну ежели часто нужно, можно и скриптик написать - будет выдёргивать нужное и складывать куда указал - git`е ведь всё напрочь скриптуется. :)

Сообщение отредактировал Tonal - 28.1.2010, 8:20
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.1.2010, 11:41
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Tonal @ 28.1.2010, 11:18) *
Если реп локальный, то вроде как просто копируешь нужное в нужный каталог...
я веду речь о произвольной правке, а не той что в рабочем каталоге находится.

Цитата(Tonal @ 28.1.2010, 11:18) *
Все они при импорте из svn стали называться как-то так (цифры от болды):
\x56\x98\x21\x74\x54.doc
Это на винде.
а где ты такие имена видишь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 28.1.2010, 11:57
Сообщение #13


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Litkevich Yuriy @ 28.1.2010, 11:41) *
я веду речь о произвольной правке, а не той что в рабочем каталоге находится.
git show дает возможность просмотреть тебе любой файл из любой ревизиий любого бранча. Что мешает перенаправить этот поток в нужное тебе место.

Сообщение отредактировал igor_bogomolov - 28.1.2010, 11:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 28.1.2010, 12:18
Сообщение #14


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Litkevich Yuriy @ 27.1.2010, 23:03) *
3)
Я, до сих пор, не нашёл способа экспортировать правку/файл из Git-хранилища в произвольный каталог.
В SVN'е это делается элементарно.


это минус. а один файл изменений (патч) он генерит? то есть, если в сети нет исходников и надо, к примеру, таскать изменения на флэшке между двумя компами, можно ли экспортировать все изменения с какой-то даты(или версии) по одному каталогу (к примеру) в один файл и на другом компе применить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.1.2010, 14:23
Сообщение #15


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Iron Bug @ 28.1.2010, 15:18) *
а один файл изменений (патч) он генерит?
одним файлом, т.е. там могут быть кучи файлов из разных каталогов

Цитата(igor_bogomolov @ 28.1.2010, 14:57) *
git show дает возможность просмотреть тебе любой файл из любой ревизиий любого бранча.
если я хочу помотреть конкретное состояние я увижу кучу клочков кучи фалов. Я не могу посмотреть сами файлы данного состояния.
Единственный известный мне способ - это извлечь это состояние в рабочий каталог (соответственно его содержимое изменится)

Почему это не удобно:
если проект большой, то после возвращения к основному состоянию (например, HEAD master), мне придётся пересобирать весь проект, т.к. файлы изменились. Вроде можно Git'а заставить корректировать дату изменения файла, но пока я в этом направлении не экспериментировал.

Если ещё учесть то, что я пользуюсь qmake и не использую shadow build (теневую сборку, т.е. сборка в отдельном каталоге как обычно делается в CMake). То извлекая некое состояние и собирая его, потом, вернувшись к основному, мне всё равно придётся всё пересобирать, т.к. объектники чужие.



Цитата(Iron Bug @ 28.1.2010, 15:18) *
то есть, если в сети нет исходников и надо, к примеру, таскать изменения на флэшке между двумя компами, можно ли экспортировать все изменения с какой-то даты(или версии) по одному каталогу (к примеру) в один файл и на другом компе применить?
я делаю по другому, я создал на флэшке хранилище (для каждого проекта своё). И отправляю туда свои изменения (git push) со станционарной машины, сую флэшку в нетбук и тяну из неё свежее в локальное хранилище на нетбуке.

При поездке в командировки приходится править программу на месте у заказчика, все изменения фиксируются в хранилище на нетбуке. Приезжая домой, я отправляю изменения на флэшку, а потом на стационарной машине вытягиваю их и сливаю с какой-нибудь веткой.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 28.1.2010, 15:37
Сообщение #16


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


вот невозможность извлечь версию в любое место меня напрягает.
вообще, пока я вижу, что самая всё-всё-всё умеющая реализация сорц-контроля - это IBM/Rational ClearCase. но это монстр, неудобный для домашнего содержания. и интерфейс у него крайне специфический. однако, вот там было вообще всё, о чём можно мечтать и ещё куча мелких фич, даже непонятно зачем вообще существующих. я с ним работала на одной работе. в общем, замечательная штуковина, если привыкнуть к странному интерфейсу (впрочем, у IBM он часто весьма загадочен).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 28.1.2010, 16:08
Сообщение #17


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Можно придумать небольшой костыль по извлечению определенной ревизии в определенное место:
1. Переходим в нужное место.
2. Делаем git clone /path/to/repo (минус: появляется еще одна поддиректория repo)
3. Заходим в эту директорию
4. Делаем git checkout нужная_ревизия
5. Удаляем папочку .git (так как она одна, то не нужно лазить по всей структуре каталогов как в svn)
6. ???
7. PROFIT!

При желании это легко скриптуется на любом удобном языке.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 28.1.2010, 16:29
Сообщение #18


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Kagami @ 28.1.2010, 16:08) *
Можно придумать небольшой костыль по извлечению определенной ревизии в определенное место:
...
Есть вариант попроще
git archive --format=tar HEAD^ | (mkdir -p test && cd test && tar xf -)
man git-archive

Как делать патчи тоже нашел
Цитата
igor_bogomolov:16:40:50 /tmp/test $ git format-patch -M HEAD^
0001-3.patch
man git-format-patch


Сообщение отредактировал igor_bogomolov - 28.1.2010, 16:47
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 28.1.2010, 17:29
Сообщение #19


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Git(ом) не пользовался, а вот SVN-ом пользуюсь. Но посмотрев Юрины картинки интерфейса Git(а), испугался. Уж какой-то он мудреный! Юра об этом уже упоминал, но все-таки. Собственно такой вопрос: если основными действиями, которыми я занимаюсь с SVN - это:
  • commit(выложить в хранилище обновленную версию)
  • update(взять версию из хранилища)
  • регистрация проекта в хранилище
  • сравнение файлов
  • откат до какой-либо старой версии


Юра, можешь рассказать, судя по тем простым действиям, что совершаю с хранилищем, как Git улучшит, поможет в этих действиях? И, пожалуйста, поясни по поводу веток и меток: я не очень понял, как так, что в Git нет регистрации каталогов, а только файлов?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.1.2010, 18:28
Сообщение #20


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 28.1.2010, 20:29) *
как Git улучшит, поможет в этих действиях?
ни как. Описанное тобой, больше напоминает процесс работы с простыми текстовыми файлами, а не разработку программ (тут без веток ни как)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

6 страниц V  < 1 2 3 4 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 23:41