Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Хотелка: gcomp+git (число прочтений - 6053 )
byte.mdfab
Junior Member
**
Отсутствует


1С++ рулит

Сообщений: 35
Местоположение: Украина
Зарегистрирован: 31. Марта 2008
Пол: Мужской
Хотелка: gcomp+git
23. Ноября 2009 :: 11:33
Печать  
Решил недавно заюзать git, но столкнулся с проблемой - похоже gcomp дружит только с CVS и SVN репозиториями а git - режет нещадно (при декомпиляции MD в репозиторий git gcomp усердно удаляет все файлы, находящиеся в каталоге .git, но оставляет все подкаталоги). Также git хранит список игнорируемых файлов в файле .gitignore, который лежит прямо в корне репозитория и тоже удаляется gcomp'ом при декомпиляции.

Собственно хотелка состоит в следующем: было бы неплохо иметь возможность указать gcomp'у перечень объектов, которые удалять не нужно.
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #1 - 23. Ноября 2009 :: 12:11
Печать  
Мне больше понравился Mercurial за счет лучшей поддержки в среде Вин, но по сути они практически одинаковы. Что же касается твоей проблемы, то я делаю так: Есть каталог Decomp в который декомпилируется МД-шник, потом запускается простой бат-ник, который копирует содержимое в каталог Current, в котором находится текущая ветка.
  
Наверх
ICQ  
IP записан
 
byte.mdfab
Junior Member
**
Отсутствует


1С++ рулит

Сообщений: 35
Местоположение: Украина
Зарегистрирован: 31. Марта 2008
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #2 - 23. Ноября 2009 :: 12:28
Печать  
Salimbek писал(а) 23. Ноября 2009 :: 12:11:
Что же касается твоей проблемы, то я делаю так: Есть каталог Decomp в который декомпилируется МД-шник, потом запускается простой бат-ник, который копирует содержимое в каталог Current, в котором находится текущая ветка.


Ну, хочется полной поддержки со стороны gcomp (если это возможно).

А обходных решений я нашел как минимум 2:
1. Скрипт, из которого запускается gcomp перед декомпиляцией переименовывает .git в .svn а файлик .gitignore копирует в temp. После декомпиляции все возвращается на место.
2. Поскольку git не разбрасывает свои папки по всему репозиторию (как это делает SVN) а держит все в одном каталоге в корне рабочей копии, то можно MD разбирать во вложенную подпапку.
  
Наверх
 
IP записан
 
slawa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 125
Зарегистрирован: 05. Октября 2006
Re: Хотелка: gcomp+git
Ответ #3 - 23. Ноября 2009 :: 23:28
Печать  
gcomp поддерживает работу с cvs и svn, для этого он игнорирует некоторые служебные папки этих систем.
можно в исходниках gcompа подправить список игнора, затем пересобрать проект.
но я сделал по другому (для Mercurial)
т.к. я не использую в работе svn, я прям в бинарнике заменил игнорируемые имена:
1. "svn" на "hg" в hex "73 76 6E" на "68 67 00"
2. "CangeLog" на ".hgignore" в hex "43 68 61 6E 67 65 4C 6F 67" на "2E 68 67 69 67 6E 6F 72 65"
  
Наверх
 
IP записан
 
byte.mdfab
Junior Member
**
Отсутствует


1С++ рулит

Сообщений: 35
Местоположение: Украина
Зарегистрирован: 31. Марта 2008
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #4 - 24. Ноября 2009 :: 06:33
Печать  
К сожалению с c++ никогда не работал. Поправить то я поправлю, а как и чем собирать - хз (если кто подскажет - большое тому спасибо). Бинарник править для меня не подойдет, так как svn тоже использую.

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

Собственно вопрос к разработчику gcomp'а - как он относится к моей идее и сможет(захочет) ли реализовать?
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #5 - 25. Ноября 2009 :: 09:11
Печать  
gcomp 2.2.16.
Тут просто расширен список исключений для git и mercurial. Ну и еще немного педалек, которые вряд ли кому-то интересны. Нормальный релиз выйдет в ближайшие пару дней.
Мысль про настраиваемый список исключений интересная и правильная, возможно я даже оторву задницу и попробую ее реализовать Улыбка
  

gcomp_bin_2_2_16.zip ( 685 KB | Загрузки )
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #6 - 25. Ноября 2009 :: 09:11
Печать  
Исходники на всякий случай.
  

gcomp_src_2_2_16.zip ( 457 KB | Загрузки )
Наверх
www  
IP записан
 
byte.mdfab
Junior Member
**
Отсутствует


1С++ рулит

Сообщений: 35
Местоположение: Украина
Зарегистрирован: 31. Марта 2008
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #7 - 25. Ноября 2009 :: 09:58
Печать  
Большое спасибо!
  
Наверх
 
IP записан
 
slawa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 125
Зарегистрирован: 05. Октября 2006
Re: Хотелка: gcomp+git
Ответ #8 - 09. Февраля 2010 :: 04:16
Печать  
fez писал(а) 25. Ноября 2009 :: 09:11:
gcomp 2.2.16.
Тут просто расширен список исключений для git и mercurial. Ну и еще немного педалек, которые вряд ли кому-то интересны. Нормальный релиз выйдет в ближайшие пару дней.


Где можно найти нормальный релиз ?
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #9 - 09. Февраля 2010 :: 07:02
Печать  
Пока только тут Улыбка
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Хотелка: gcomp+git
Ответ #10 - 10. Февраля 2010 :: 11:30
Печать  
Off-Topic replies have been moved to this Topic.
  
Наверх
www  
IP записан
 
slawa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 125
Зарегистрирован: 05. Октября 2006
Re: Хотелка: gcomp+git
Ответ #11 - 12. Февраля 2010 :: 04:20
Печать  
Ошибочка закралась Улыбка
Не работает для mercurial

в функции bool IsIgnoredFile(LPCSTR FileName)

строку if( 0 == stricmp(FileName, "hg")            ) return true; // mercurial
нужно заменить на
строку if( 0 == stricmp(FileName, ".hg")            ) return true; // mercurial
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать