The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

git.js - реализация Git, написанная целиком на JavaScript

07.08.2011 12:36

В рамках проекта git.js развивается реализация Git, написанная целиком на языке JavaScript. Проект git.js поддерживает работу как внутри веб-браузера, так и виде работающего в режиме командной строки клиента, запускаемого под управлением JavaScript-сервера node.js. Код проекта распространяется под лицензией MIT.

В настоящий момент поддерживается только работа в режиме чтения. Возможно выполнение таких операций, как просмотр лога совершенных коммитов, вывод списка веток и отображение информации о находящихся в репозитории проектах. Дополнительно подготовлен API, позволяющий создавать размещенные в памяти репозитории, просматривать дерево объектов, формировать списки различий (diff), запрашивать объекты из удаленных репозиториев при помощи протоколов доступа к Git поверх HTTP. Из планов на будущее отмечается реализация поддержки записи в репозиторий, выполнения коммитов и создание веток.

Из реализаций Git на скриптовых языках программирования также можно упомянуть проект Dulwich, в рамках которого создана реализация поддержки форматов и протоколов Git на чистом Python. Проект позволяет создавать web-фронтэнды к Git-репозиторям, не требующие вызова внешних команд Git и работающие с данными репозиториями напрямую. На базе Dulwich организована поддержка git в системе Google Code.

  1. Главная ссылка к новости (https://github.com/danlucraft/...)
  2. OpenNews: В Google Code появилась поддержка Git. Оценка популярности хостингов открытых проектов
  3. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.7.6
  4. OpenNews: GitHub обогнал по популярности SourceForge и Google Code (представители SF не согласны)
  5. OpenNews: Проект Git перешел под покровительство организации Software Freedom Conservancy
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/31418-git
Ключевые слова: git, javascript, web
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, qwerty (??), 13:58, 07/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    Это что какая-то секта, которая пытается переписать все что только существует на JavaScript? Или это так часть "Java" в названии языка влияет...
     
     
  • 2.4, хзкто (ok), 14:49, 07/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а почему бы и нет, тот же node.js очень и очень неплох
     
     
  • 3.22, Аноним (-), 17:16, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И правда - секта.


    Нормальные люди, типа Торвальдса делают так:
    1) О, есть проблема: нам нужна DVCS!
    2) Анализ показал что хороших DVCS которые бы нас устроили под наши требования в природе нет.
    3) Программится DVCS, отвечающая требованием пункта 2).
    4) ???
    5 PROFIT

    Гит напрограмлен по уму - ряд быстрых и эффективных утилей и скриптообвязка к ним. Юниксвейно, удобно, расширябельно и твикабельно. Вещь!

    Как делают сектанты:
    1) ???
    2) А вот (ява, js, питон, перл, руби, пхп, скуль, брейнфак, whatever) - это круто! Давайте напишем на (яве, js, питоне, перле, руби, пхп, скуле, брейнфаке, whatever) аналог (имя уже существующей программы)! Потому что %s - круто!

     
  • 2.7, filosofem (ok), 19:03, 07/08/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Думаю нет, но вы можете основать секту Даваскриптофобов. Судя по каментам на каждую новость про софт, написанный на Джаваскрипт, сторонников у вас будет предостаточно.
     
     
  • 3.10, anonymous (??), 23:12, 07/08/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Думаю нет, но вы можете основать секту Даваскриптофобов. Судя по каментам на каждую новость про софт, написанный на Джаваскрипт, сторонников у вас будет предостаточно.

    Да не в этом дело. Просто странно наблюдать, как люди тратят свою жизнь на переписывание того, что уже давно написано и работает. Так ладно, получалось бы лучше, быстрее. Но таки нет. Как правило, сие переписывание оборачивается возрастанием системных требований на несколько порядков. И меня, как пользователя, эта тенденция удручает.

     
     
  • 4.15, filosofem (ok), 12:02, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Но таки нет. Как правило, сие переписывание оборачивается возрастанием системных требований на несколько порядков.

    Таки у каждого свои недостатки. Не хочу быть КО, но придется заметить, что производительность не единственный параметр нужности кода.
    Вот по кроссплатформенности, удобности распространения, установки, обновления и сопровождения кода у JS и вэб-браузера как платформы конкурентов нет в принципе. Серверный JS конечно не имеет таких преимуществ, но он уже следствие популярности клиентского.

     
     
  • 5.20, anonymous (??), 13:59, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Вот по кроссплатформенности, удобности распространения, установки, обновления и сопровождения кода у JS и вэб-браузера как платформы конкурентов нет в принципе.

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

     

  • 1.5, Crazy Alex (ok), 14:49, 07/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    ну, если smart mode реализовали - то в этом даже смысл какой-то есть, как минимум, просмотрщик репозитория можно сделать.

    А так - тенденция таки странная. Гит всегда нёс на флаге свою скорость и эффективность, сомневаюсь, что это получится сделать в JS-реализации - не знаю.

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

     
     
  • 2.8, devlink (?), 21:44, 07/08/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так то node.js использует V8 от корпорации бобра. А там со скоростью вполне прилично.

    Хотя по поводу читабельности с вами соглашусь - когда после JavaScript я попробовал Python, то немного приуныл, что JS не так красив и удобен.

     
     
  • 3.9, Crazy Alex (ok), 22:42, 07/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Прилично по сравнению с чем, простите? Git написан на C, и NaCl ддаёт падение производительности в единицы процентов (если не меньше) по сравнению с нативным бинарником.

    Что до красоты - дело вкуса (я, допустим нетипизированные языки не люблю). Я говорил об объективных недостатках - разнообразных corner cases вроде проблем с автоматическим завершением операторов на новой строке и печально известной конкатенции через "+", а также о слишком компактном синтаксисе - там, где в других языках (особенно статически типизированных) будет просто из синтаксиса ясно, что происходит, в JS вы увидите просто еще одну анонимную функцию или параметр, для которого непонятно, что через него можно передать.

     

  • 1.11, gituser (?), 01:05, 08/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хочу git на плюсах
     
     
  • 2.12, Crazy Alex (ok), 01:42, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а чем на сях не устраивает?
     
     
  • 3.17, gituser (?), 12:59, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    хочу на трУ языке
    вон даже на JS код получился более компактный нежели в оригинале на C
     
     
  • 4.19, Аноним (-), 13:32, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. Вас устраивает даже read-only, лишь бы на Ъ-языке и компактно? А коммитить нечего или для этого всегда есть libastral?
     
     
  • 5.21, gituser (?), 14:53, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    с чего вы взяли что часть которая занимает коммит, будет весить на тру языке как паровоз?
    кстати покажите часть на С языке которая только read-only, сравним ее по размерам с js
     
  • 4.23, Кракен (ok), 19:10, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > вон даже на JS код получился более компактный нежели в оригинале на
    > C

    Лол. Высокоуровневые яп и созданы для этого.


     

  • 1.13, ProfX (ok), 08:38, 08/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да... тенденция таки наблюдается. Старнно но складывается ощущение - что JS претендует на место asm только для веба. Непонятоно только чем он так нарвится тем, кто переписывает на нем готовые решения.
     
     
  • 2.14, anonymous (??), 10:57, 08/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Старнно но складывается ощущение - что JS претендует на место asm только для веба.

    Ну судя по последним тенденциям в разработке Qt и 8-й венды его уже тащат везде и, зачастую, в ущерб компилируемым языкам.

     

  • 1.16, vaychick (?), 12:36, 08/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я тоже не понимаю тенденции делать подобные приложения на JS, как например портировать doom или писать эмулятор для Linux, JS помойму для таких вещей не предназначен. Насчет скорости исполнения я тоже сомневаюсь что может быть быстро. Вызывают увашение крутые программисты на C, которые написали мощьные движки JS благодоря которым прораммист на JS может писать так вольно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру