vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Когда-то давно существовала система контроля версий cvs.
Вся она состояла из одного бинарника размером меньше мегабайта (под виндой чуть меньше, под линуксом чуть больше) и фактически не имела внешних зависимостей (один zlib. который недолго и статически вкомпилить).

Потом появилась subversion. Как сейчас помню как лет пять назад собирал эту самую subversion для разных солярисов. Тогда у нас уже была полиси не использовать пакетов с sunfreeware и blastwave, потому что они там без объявления войны меняют библиотеку на несовместимую и при попытке обновиться (что может быть необходимым для установки чего-то нового) ломается уже установленный софт. Поэтому всё: чего нет на software companion мы собирали в пакеты сами. (ну мы - это Мы. Великий и Могучий Утес далее по тексту). Не помню чтобы [personal profile] filin хотя бы один пакет для Solaris-а тогда собрал.

Так вот subversion уже требовала немерянноо количества всяких достаточно сложных в сборке библиотек - libneon. которая тащит openssl, sqlite etc. Под восьмой солярис-спарк я возился чуть ли не сутки.

С тех пор subversion еще немного подросла и, оказывается черепаховый svn под windows носит с собой собственный plink.

Теперь вот попробовал поставить на винду git. И обнаружил что он тащит с собой как бы не полную msys включая bash и perl. А также ssh. (Кстати вот msys-овский rsync надо пощупать). Правда: у git продвинутый инсталлятор - он находит в системе уже имеющийся plink от черепахи. Нашел бы наверное и от putty, если бы тот был в PATH.

Всё-таки работа в GNU системе развращает. Привыкаешь что под рукой есть куча разнообразных инструментов. И то что в других системах их наличие тебе никто не гарантирует оказывается несколько неожиданным. Приходится с собой таскать.

И это я еще не рассматривал почти полностью скриптовый mercurial.

Date: 2013-10-24 10:15 am (UTC)
victor_sudakov: (Default)
From: [personal profile] victor_sudakov
Я начинал даже не с CVS, а с RCS. CVS у меня кстати до сих пор используется в нескольких местах, где невозможно сконвертировать репозиторий в SVN.

git мне не понравился ужасно, а вот mercurial я полюбил и держу свои мелочи в нем, и на https://bitbucket.org/victor_sudakov вместо гитхаба.

http://victor-sudakov.dreamwidth.org/172181.html

Date: 2013-10-24 01:37 pm (UTC)
From: [identity profile] kostix.myopenid.com
Во-первых, инсталлятор Git for Windows, к сожалению, "более креативен": он не ищет plink.exe, а ищет сохранённые сессии PuTTY в реестре -- если они есть, инсталлятор предложит использовать plink.exe.

Вообще же всегда можно вписать нужное в переменную окружения GIT_SSH.

Кроме того, у стандартного plink.exe есть (спорная, надо отметить) проблема: все вопросы типа "доверять ли серверу вот с таким отпечатком ключа?" при первом подключении к оному серверу эта программа задаёт строго на той консоли, с которой запущена -- или на своём stdin, если она запущена Git'ом, и тогда никто этот вопрос никогда не увидит. TortoiseSvn (и, вероятно, TortoiseGit) включают свой патченый plink.exe, который умеет подобный вопрос задавать при помощи GUI окна, "вылезающего из ниоткуда" (и поэтому автор PuTTY не хочет реализовывать такое в своём plink.exe). Так что если установлено TortoiseНечто, можно использовать его собственный TortoisePlink.exe в GIT_SSH.

А по поводу систем управления версиями, реализованных в виде одной программы, следует посмотреть на фоссиль: http://http://www.fossil-scm.org/ -- она полностью self-hosting, включая web UI и сервер (тоже с web UI). К сожалению, по возможностям до Git ей очень далеко, но есть сильные стороны. Собрать руками можно как полностью статическую версию (под Linux -- глупо, из за DNS-резолвера) или с зависимостью только от libc, libc + libz или libc + libz + libssl.

Date: 2013-10-23 05:38 pm (UTC)
From: [identity profile] raydac.livejournal.com
а еще был адский VSS

Date: 2013-12-13 11:02 am (UTC)
From: [identity profile] os80.livejournal.com
>был
Ггг

Date: 2013-10-23 05:43 pm (UTC)
From: [identity profile] slobin.livejournal.com
На самом деле школа "один статический бинарник, в котором всё" существует. В смысле, речь о свободных продуктах, но под винду. Примеры: mongoose (веб-сервер, я тут думаю его встроенный lua scripting к делу приспособить), fossil (распределённый контроль версий, бакгтрекер, вики). А подход "притащим с собой весь msys" приводит к тому, что в системе в итоге оказываются три разных msys. :-(

Не, это на самом деле хорошо, что поддержка Windows XP заканчивается. Потому что у меня у самого не хватит силы воли перейти с привычной системы на что-нибудь другое. Зато, если уж всё равно переходить, то на седьмой Дебиан проще, чем на седьмую Windows. :-)

... Отсутствие убеждений - не самая надёжная защита ...

Date: 2013-10-23 05:47 pm (UTC)
From: [identity profile] fortness90.myopenid.com (from livejournal.com)
Подход должен быть один : принесем с собой cygwin и в него интегрируемся. Вон PGI Workstation под win в cygwin врастает - и ничего !!
Edited Date: 2013-10-23 05:48 pm (UTC)

Date: 2013-10-23 06:13 pm (UTC)
From: [identity profile] dark-beer.livejournal.com
Вот вот. У меня на винде cygwin и в нем все есть - и svn и git.

(no subject)

From: [identity profile] tzirechnoy.livejournal.com - Date: 2013-10-24 06:56 am (UTC) - Expand

Date: 2013-10-24 11:21 am (UTC)
From: [identity profile] npocmu.livejournal.com
ИМХО намеренно использовать cygwin сроздни мазохизму.

Поясню: cygwin намерянно сделан полностью несовместимым с идеологией винды. Извините ребята, если бы мне нужен был *nix я бы на нем и сидел. А так мне нужны просто GNU утилиты, но совместимые с виндой, без проблем с путями, кодировками, устройствами и т.д. В этом плане GnuWIN32 на порядок юзабельнее.

ЗЫ Я сам иногда использую cygwin, но только когда нет альтернативы.

(no subject)

From: [personal profile] legolegs - Date: 2013-10-24 04:38 pm (UTC) - Expand

(no subject)

From: [identity profile] fortness90.myopenid.com - Date: 2013-10-24 10:42 pm (UTC) - Expand

Date: 2013-10-23 05:56 pm (UTC)
From: [identity profile] kiryl.livejournal.com
git потихоньку переписывают с Шелла и Перла на Си, только медленно. Базовый функционал, без git rebase -i, git send-email и подобных вещей, работает.

Date: 2013-10-23 06:12 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Зато это все ставится простым копированием и прописыванием путей.
Меркуриал с собой носит питон и кучу его либ, 32 мега на винде занимает.

Date: 2013-10-23 06:24 pm (UTC)
From: [identity profile] qehgt.livejournal.com
А вот мессенджер jitsi таскает с собой Java. Инсталлятор занимает 49М.

"Здесь так принято".

Date: 2013-10-24 06:03 am (UTC)
From: [identity profile] ext_1684112 (from livejournal.com)
Ява вообще вещь полезная. Бородатых от нее корежит, так это от незнания.

(no subject)

From: [personal profile] legolegs - Date: 2013-10-24 04:39 pm (UTC) - Expand

Date: 2013-10-23 06:27 pm (UTC)
From: [identity profile] vp.livejournal.com
Вот мне тоже кажется, что не должен гит занимать 200+ метров на винде :)

Date: 2013-10-23 06:47 pm (UTC)
From: [personal profile] legolegs
Линусу в своё время не казалось, что винда нужна.

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-10-23 06:50 pm (UTC) - Expand

(no subject)

From: [personal profile] legolegs - Date: 2013-10-23 06:57 pm (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-10-23 07:02 pm (UTC) - Expand

(no subject)

From: [personal profile] legolegs - Date: 2013-10-23 07:27 pm (UTC) - Expand

(no subject)

From: [identity profile] ext_1684112 - Date: 2013-10-24 06:04 am (UTC) - Expand

(no subject)

From: [identity profile] ext_1684112 - Date: 2013-10-24 11:43 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-10-24 06:43 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-10-24 11:41 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2013-10-28 10:25 pm (UTC) - Expand

Date: 2013-10-23 06:57 pm (UTC)
From: [identity profile] tasmanj.livejournal.com
Mercurial написан практически исключительно на python. Там зоопарка нет.

Date: 2013-10-23 08:27 pm (UTC)
From: [identity profile] emdrone.livejournal.com
Питон сам зоопарк, на десятки мегабайт с десятками если не сотнями файлов,
требующий "системной" установки

(no subject)

From: [identity profile] tasmanj.livejournal.com - Date: 2013-10-23 08:55 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2013-10-24 03:57 am (UTC) - Expand

Date: 2013-10-23 06:57 pm (UTC)
From: [identity profile] max630.livejournal.com
я как раз вчера собирал git extensions для линукса. И мог бы сказать что работа в среде .net развращает не меньше. Если бы там вообще было чего с начала развращать.

Date: 2013-10-23 06:59 pm (UTC)
From: [identity profile] max630.livejournal.com
зато удобно - ставишь одну программу и у тебя почти человеческая система :)

Date: 2013-10-23 07:30 pm (UTC)
From: [personal profile] legolegs
Не очень-то человеческая. У msys проблемы со вводом кириллицы. Какие-то проблемы в связке cmd.exe и bash.

(no subject)

From: [identity profile] max630.livejournal.com - Date: 2013-10-23 07:44 pm (UTC) - Expand

(no subject)

From: [personal profile] yurikhan - Date: 2013-10-24 03:03 am (UTC) - Expand

(no subject)

From: [identity profile] ext_1684112 - Date: 2013-10-24 06:28 am (UTC) - Expand

(no subject)

From: [identity profile] d1f.livejournal.com - Date: 2013-10-24 12:33 pm (UTC) - Expand

(no subject)

From: [personal profile] yurikhan - Date: 2013-10-24 01:12 pm (UTC) - Expand

(no subject)

From: [personal profile] yurikhan - Date: 2013-10-25 05:00 am (UTC) - Expand

(no subject)

From: [identity profile] max630.livejournal.com - Date: 2013-10-24 01:51 pm (UTC) - Expand

(no subject)

From: [personal profile] leotsarev - Date: 2013-10-24 07:06 am (UTC) - Expand

(no subject)

From: [personal profile] yurikhan - Date: 2013-10-25 05:03 am (UTC) - Expand

(no subject)

From: [personal profile] leotsarev - Date: 2013-10-25 05:19 am (UTC) - Expand

Date: 2013-10-23 08:11 pm (UTC)
From: [identity profile] rinnve.livejournal.com
А всё потому что почему-то привыкли стройную систему костылей и подпорок называть готовым продуктом. Ведь как-то сделали http://www.fossil-scm.org (http://www.fossil-scm.org) без привязки к чему-либо кроме самых-самых базовых вещей.

Date: 2013-10-23 08:26 pm (UTC)
From: [identity profile] emdrone.livejournal.com
Yesss!
Абсолютно лучшая на сегодня для малых - до средних проектов,
интегрировано все (3 "продукта") в один небольшой бинарник,
кроссплатформенная и т.д и т.д

(no subject)

From: [identity profile] os80.livejournal.com - Date: 2013-12-13 01:30 pm (UTC) - Expand

(no subject)

From: [identity profile] emdrone.livejournal.com - Date: 2013-12-15 11:31 am (UTC) - Expand

Date: 2013-10-23 08:16 pm (UTC)
ext_605364: geg MOPO4 (geg_MOPO4)
From: [identity profile] gegmopo4.livejournal.com
Хм. Вроде бы sqlite в subversion не было.

Date: 2013-10-24 02:18 am (UTC)
From: [identity profile] matpuk.livejournal.com
Он там начиная с 1.7.0, когда разрабы полностью переделали хранение метеданных - перенесли все из множества .svn каталогов в один.

Date: 2013-10-23 08:24 pm (UTC)
From: [identity profile] emdrone.livejournal.com
Абсолютно лучшая Распределенная Система Контроля Версий сегодня для мелких - до средних проектов - Fossil (www.fossil-scm.org)
    (a) сделана автором sqlite, т.е. качетвенный код

    (б) один executable мегабайта в 1-1.5

    (в) кроссплатформенна (т.е. бинарник делается
    без проблем под любую ОС - или скачивается, если вы ленивы)

    (г) в нее интегрирован мини-вебсервер, и она представляет вебн-
    интерфейс для:

      -- графического дерева версий
      -- интегрированную систему квиточков для багов и вики
      Также может показывать статические документы из-под веб сервера
      -- временной шкалы всех commits, tickets, wiki entries and edits
      -- диффы side-by=side


    (д) очень, очень проста в употреблении. On-line help (командная строка)

    (e) сильная криптография держит всю историю, которую невозможно поменять
    задним числом

    (ж) по-настоящему распределенная система контроля версий


Можете с друзьями ее использовать в виде распределенного мини-блога, если угодно.
Обновлять можно ее заставить ходить скриптом. Хотя не годится по скорости,
захлебнется после сотни-другой друзей.

Но как Distributed Version Control System - лучшая на сегодня.

Гит перетягивает только в быстродействии и возможности работать с
по-настоящему большими проектами.
Но Гит поразительно нелогичен и громоздок в своих командах, так что
я помню писал файл с aliases -тобы переназвать команды Git'а
логичным образом.

Date: 2013-10-24 04:01 am (UTC)
From: [identity profile] thedeemon.livejournal.com
А аналог github или bitbucket для нее есть?

(no subject)

From: [personal profile] develop7 - Date: 2013-10-24 06:32 am (UTC) - Expand

(no subject)

From: [identity profile] Евгений Сосна - Date: 2013-12-11 10:31 am (UTC) - Expand

(no subject)

From: [personal profile] wizzard - Date: 2013-10-24 07:53 am (UTC) - Expand

(no subject)

From: [identity profile] max630.livejournal.com - Date: 2013-10-24 01:53 pm (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2013-10-28 10:33 pm (UTC) - Expand

(no subject)

From: [identity profile] max630.livejournal.com - Date: 2013-10-29 06:55 am (UTC) - Expand

(no subject)

From: [personal profile] lumag - Date: 2013-10-31 10:15 am (UTC) - Expand

(no subject)

From: [identity profile] edo-rus.livejournal.com - Date: 2013-10-31 10:43 am (UTC) - Expand

Date: 2013-10-24 07:53 am (UTC)
burbilog: (Default)
From: [personal profile] burbilog
До сих пор rcs пользую... так вломно изучать другие системы, и зачем, если старая работает?

Date: 2013-10-25 11:41 am (UTC)
From: [identity profile] slobin.livejournal.com
Один файл, одна машина, один пользователь. До тех пор, пока это так -- всё идеально. Уже даже несколько файлов (хотя пользователь и машина по прежнему одни) требует некоторых минимальный костылей. I am talking from experience, я сам её до сих пор использую! :-)

... У врагов могут быть нужные вещи ...

(no subject)

From: [personal profile] burbilog - Date: 2013-10-25 02:19 pm (UTC) - Expand

Date: 2013-10-24 09:50 am (UTC)
From: [identity profile] borisovs.livejournal.com
Вроде как git официально под windows нет.
msysgit порт не от команды разработчиков git ?

Date: 2013-10-24 11:42 am (UTC)
From: [identity profile] npocmu.livejournal.com
Витус поднял актуальную для меня тему. Не так давно я пытался освоить git под виндой. Кое как оно завелось и даже один репозитарий на гитхабе я веду, но осадочек остался. Попробую поискать ответа тут...

Вот текст который я думал запостить в https://github.com/msysgit/git/issues
================gitbash.md=================
Git Bash incompatible with Windows command prompt?

It is possible to include in msysgit package new version of Bash?
Currently version is:

```
sh --version
```
>GNU bash, version 3.1.0(1)-release (i686-pc-msys)
>Copyright (C) 2005 Free Software Foundation, Inc.

In this issue i compare this version of bash with port from Cygwin
```
\cygwin\bin\sh --version
```
>GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)
>Copyright (C) 2009 Free Software Foundation, Inc.

Problem overview
================

As i see, Git Bash not properly parse its command line. In windows environment
it must first strip down double quotes from command line arguments. Consider next example:
(All examples runs from Windows command prompt, not Bash!)
```
\git\bin\sh -xc "echo "$@"" "A" "B" "C"
```
>+ 'echo "B"' '"C"'
>"A": echo "B": command not found

As you can see double quotes not stripped and command was fail.
Compare with:
```
\cygwin\bin\sh -xc "echo "$@"" "A" "B" "C"
```
>+ echo B C
>B C

All works as suspected!

What does that mean for msysGit?
================================

It's mean that any subcommand with arguments that git run using 'sh' will fail. I'm novice in Git
and currently take only two pitfalls that related to this bug:
1. Cloning of local repository fail
```
D:\Git>git init --bare Test
```
>Initialized empty Git repository in D:/Git/Test/
```
D:\Git>git clone --no-hardlinks Test/ Dev1
```
>Cloning into 'Dev1'...
>"git-upload-pack 'D:/Git/Test/'": git-upload-pack 'D:/Git/Test/': No such file or directory
>fatal: Could not read from remote repository.
>
>Please make sure you have the correct access rights
>and the repository exists.

2. Credential helpers not worked
```
git config --global credential.helper wincred
git credential fill
```
>"git credential-wincred get": git credential-wincred get: command not found

When i manually replace shell (by copying sh.exe and related dlls from Cygwin) then problems disappear.

==========================================

У кого-нибудь подобные симптомы были? Возможно я криворукий, но два поставленных пакета gitextensions на разных машинах по разными виндами (XP и 7) дали одинаковый результат :(

Date: 2013-10-25 11:43 am (UTC)
From: [identity profile] slobin.livejournal.com
//Всё-таки работа в GNU системе развращает. Привыкаешь что под рукой есть куча разнообразных инструментов. И то что в других системах их наличие тебе никто не гарантирует оказывается несколько неожиданным. Приходится с собой таскать.

А ведь если подумать, какова ирония! Естественно, в любой нормальной системе должно быть можно просто набрать ls открыть .docx :-)

... Random (or maybe Merlin) cookie ...

Date: 2013-11-01 10:28 am (UTC)
From: [identity profile] nomorebears.livejournal.com
Если уж есть такая необходимость держать винду, поставить виртуалку с GNU-системой не вариант?

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

January 2026

S M T W T F S
     1 2 3
4 5678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 8th, 2026 03:04 pm
Powered by Dreamwidth Studios