англійськафранцузькаіспанська

Ad


Значок OnWorks

git-cvsserver - Інтернет у хмарі

Запустіть git-cvsserver у безкоштовному хостинг-провайдері OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда git-cvsserver, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


git-cvsserver — емулятор сервера CVS для Git

СИНТАКСИС


SSH:

експорт CVS_SERVER="git cvsserver"
резюме -d :ext:user@server/path/repo.git co

pserver (/etc/inetd.conf):

cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver

Використання:

git-cvsserver [параметри] [pserver|сервер] [ ...]

ВАРІАНТИ


Очевидно, що всі ці параметри мають сенс, лише якщо їх виконує сторона сервера. Вони були
реалізований, щоб нагадувати git-демон(1) варіанти якомога ближче.

--базовий шлях
Попередньо шлях до запитуваного CVSROOT

--суворі шляхи
Не дозволяйте рекурсію до підкаталогів

--експортувати-все
Не перевіряйте gitcvs.enabled у конфігурації. Також необхідно вказати список дозволених
каталоги (див. нижче), якщо ви бажаєте скористатися цією опцією.

-V, --версія
Роздрукувати інформацію про версію та вийти

-h, -H, --довідка
Роздрукуйте інформацію про використання та вийдіть


Ви можете вказати список дозволених каталогів. Якщо не надано жодного каталогу, є всі
дозволено. Це додаткове обмеження, доступ до gitcvs все одно потрібно ввімкнути
параметр конфігурації gitcvs.enabled, якщо не --експортувати-все також було надано.

ОПИС


Ця програма є рівнем емуляції CVS для Git.

Він дуже функціональний. Однак не всі методи реалізовані, а для тих методів
які реалізовані, не всі перемикачі реалізовані.

Тестування проводилося з використанням клієнта CLI CVS і плагіна Eclipse CVS. більшість
функціональність добре працює з обома цими клієнтами.

ОБМЕЖЕННЯ


Клієнти CVS не можуть додавати теги, розгалужуватися або виконувати злиття Git.

git-cvsserver відображає гілки Git на модулі CVS. Це дуже відрізняється від більшості CVS
користувачі очікують, оскільки в CVS модулі зазвичай представляють один або більше каталогів.

УСТАНОВКА


1. Якщо ви збираєтеся запропонувати доступ до CVS через pserver, додайте рядок у /etc/inetd.conf на зразок

cvspserver stream tcp nowait nobody git-cvsserver pserver

Примітка. Деякі сервери inetd дозволяють вказувати назву виконуваного файлу незалежно від
значення argv[0] (тобто ім'я, з яким програма припускає, що вона була виконана). У цьому
правильний рядок у /etc/inetd.conf виглядає так

cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver

За замовчуванням pserve надає лише анонімний доступ. Щоб здійснити, вам доведеться
створити облікові записи pserver, просто додайте параметр gitcvs.authdb у файл конфігурації
сховища, до яких cvsserver має дозволити запис, наприклад:

[gitcvs]
authdb = /etc/cvsserver/passwd

Формат цих файлів — ім’я користувача, за яким слідує зашифрований пароль, наприклад:

мій користувач:$1Oyx5r9mdGZ2
мій користувач:$1$BA)@$vbnMJMDym7tA32AamXrm./

Ви можете використовувати htpasswd засіб, який постачається з Apache для створення цих файлів, але
Метод шифрування MD5 Apache відрізняється від того, який використовується більшістю бібліотек C crypt()
тому не використовуйте опцію -m.

Крім того, ви можете створити пароль за допомогою оператора perl crypt():

perl -e 'my ($user, $pass) = @ARGV; printf "%s:%s\n", $user, crypt($user, $pass)' пароль $USER

Потім введіть свій пароль за допомогою методу pserver, наприклад:

cvs -d:pserver:someuser:somepassword server/path/repo.git co

Для доступу SSH не потрібні спеціальні налаштування, окрім наявності інструментів Git у PATH. Якщо
у вас є клієнти, які не приймають змінну середовища CVS_SERVER, ви можете
перейменувати git-cvsserver до cvs.

Примітка. Новіші версії CVS (>= 1.12.11) також підтримують вказівку CVS_SERVER безпосередньо в
CVSROOT подобається

cvs -d ":ext;CVS_SERVER=git cvsserver:user@server/path/repo.git" co

Перевагою цього є те, що він буде збережений у вашому CVS/корінь файли, які вам не потрібні
турбуватися про те, щоб завжди встановлювати правильну змінну середовища. Користувачі SSH обмежені
до git-оболонка не потрібно змінювати значення за замовчуванням за допомогою CVS_SERVER (і не слід), як
git-оболонка розуміє, що означає cv git-cvsserver і робить вигляд, що інший кінець біжить
справжній резюме краще

2. Для кожного сховища, до якого ви хочете отримати доступ із CVS, вам потрібно відредагувати конфігурацію в сховищі
і додайте наступний розділ.

[gitcvs]
розблоковано = 1
# необов'язковий для налагодження
logFile=/шлях/до/файлу журналу

Примітка: вам потрібно переконатися, що кожен користувач збирається викликати git-cvsserver написав
доступ до файлу журналу та бази даних (див. Базу даних. Якщо ви хочете запропонувати
доступ для запису через SSH, користувачам, звичайно, також потрібен доступ для запису до Git
сам репозиторій.

Вам також потрібно переконатися, що кожне сховище є «голим» (без файлу індексу Git) для
cvs взяти на себе зобов'язання працювати. Побачити gitcvs-міграція(7).

Усі змінні конфігурації також можна замінити для певного методу доступу.
Дійсні імена методів: «ext» (для доступу через SSH) і «pserver». Наступний приклад
конфігурація вимкне доступ до pserver, але дозволить доступ через SSH.

[gitcvs]
розблоковано = 0

[gitcvs "ext"]
розблоковано = 1

3. Якщо ви не вказали CVSROOT/CVS_SERVER безпосередньо в команді перевірки,
автоматично зберігаючи його у вашому CVS/корінь файлів, то вам потрібно встановити їх явно
у вашому оточенні. CVSROOT має бути встановлено як зазвичай, але каталог має бути встановлено
вказують на відповідне сховище Git. Як і вище, для клієнтів SSH НЕ обмежено до
git-оболонка, CVS_SERVER має бути встановлено на git-cvsserver.

експорт CVSROOT=:ext:user@server:/var/git/project.git
експорт CVS_SERVER="git cvsserver"

4. Для клієнтів SSH, які здійснюватимуть коміти, переконайтеся, що їхні серверні .ssh/середовище
файли (або .bashrc тощо, відповідно до їх конкретної оболонки) експортують відповідні значення
для GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME та GIT_COMMITTER_EMAIL.
Для SSH-клієнтів, чия оболонка входу в систему bash, .bashrc може бути розумною альтернативою.

5. Тепер клієнти повинні мати можливість перевірити проект. Використовуйте CVS Модулі ім'я до
вкажіть, що таке Git голова ви хочете перевірити. Це також встановлює ім'я вашого нового
вилучений каталог, якщо ви не вкажете інше за допомогою -d . Наприклад,
це перевіряється майстер відгалуження до каталогу project-master:

cvs co -d головний майстер проекту

DATABASE НАЗАД


git-cvsserver використовує одну базу даних на голову Git (тобто модуль CVS) для зберігання інформації про
репозиторій для підтримки узгоджених номерів версій CVS. База даних повинна бути
оновлюється (тобто записується) після кожного коміту.

Якщо фіксація виконується безпосередньо за допомогою git (на відміну від використання git-cvsserver) оновлення
має відбутися під час наступного доступу до сховища git-cvsserver, незалежно від доступу
метод і запитану операцію.

Це означає, що навіть якщо ви пропонуєте лише доступ для читання (наприклад, за допомогою методу pserver),
git-cvsserver для надійної роботи необхідно мати доступ для запису до бази даних (інакше ви
потрібно переконатися, що база даних завжди актуальна git-cvsserver виконується).

За замовчуванням він використовує бази даних SQLite у каталозі Git під назвою
gitcvs. .sqlite. Зауважте, що серверна частина SQLite створює тимчасові файли в
той же каталог, що й файл бази даних під час запису, тому цього може бути недостатньо для надання користувачам
використання git-cvsserver доступ на запис до файлу бази даних, не надаючи їм права на запис
також до каталогу.

Базу даних не можна надійно відновити в узгодженій формі після розгалуження
відстеження змінено. Приклад: для об’єднаних гілок git-cvsserver відстежує лише одну гілку
розвитку, а після а мерзотник злиття база даних, що поступово оновлюється, може відстежувати a
відрізняється від гілки бази даних, створеної з нуля, що спричиняє непослідовність CVS
номери ревізій. git-cvsserver не може дізнатися, яку гілку він би вибрав, якщо
його було запущено поступово перед злиттям. Отже, якщо вам доведеться повністю або частково (від стар
резервне копіювання) відновити базу даних, ви повинні бути підозрілими щодо вже існуючих пісочних програм CVS.

Ви можете налаштувати серверну частину бази даних за допомогою таких змінних конфігурації:

Налаштування база даних базова
git-cvsserver використовує модуль Perl DBI. Будь ласка, також прочитайте його документацію, якщо змінюється
ці змінні, особливо щодо DBI->connect().

gitcvs.dbName
Ім'я бази даних. Точне значення залежить від вибраного драйвера бази даних для SQLite
це ім'я файлу. Підтримує заміну змінних (див. нижче). Може не містити
крапка з комою (;). за замовчуванням: %Ggitcvs.%m.sqlite

gitcvs.dbDriver
Б/у драйвер DBI. Ви можете вказати будь-який доступний драйвер для цього тут, але це може бути не так
працювати. cvsserver протестовано за допомогою DBD::SQLite, повідомила про роботу с DBD::Pg та
повідомляє НЕ працювати DBD::mysql. Розглядайте це як експериментальну функцію.
Не може містити двокрапки (:). за замовчуванням: SQLite

gitcvs.dbuser
Користувач бази даних. Корисно, лише якщо встановити dbDriver, оскільки SQLite не має поняття
користувачів бази даних. Підтримує заміну змінних (див. нижче).

gitcvs.dbPass
Пароль бази даних. Корисно, лише якщо встановити dbDriver, оскільки SQLite не має поняття
паролі бази даних.

gitcvs.dbTableNamePrefix
Префікс імені таблиці бази даних. Підтримує заміну змінних (див. нижче). Будь-який
неалфавітні символи буде замінено підкресленням.

Усі змінні також можна встановити для кожного методу доступу, див. вище.

Змінна заміна
У dbDriver і dbUser можна використовувати такі змінні:

%G
Ім'я каталогу Git

%g
Ім'я каталогу Git, де всі символи, крім буквено-цифрових, ., та -
замінюються на _ (це повинно полегшити використання імені каталогу в a
ім'я файлу за бажанням)

%m
Назва модуля CVS/голови Git

%a
метод доступу (один із "ext" або "pserver")

%u
Ім'я запущеного користувача git-cvsserver. Якщо назва не може бути визначена, числове
uid використовується.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ


Ці змінні позбавляють потреби в параметрах командного рядка за деяких обставин, дозволяючи
легше обмежене використання через git-shell.

GIT_CVSSERVER_BASE_PATH замінює аргумент --base-path.

GIT_CVSSERVER_ROOT визначає білий список з одним каталогом. Репозиторій ще має бути
налаштований для дозволу доступу через git-cvsserver, як описано вище.

Якщо ці змінні середовища встановлено, відповідні аргументи командного рядка можуть бути відсутні
бути використаним.

ECLIPSE CVS КЛІЄНТ ПРИМІТКИ


Щоб оформити замовлення за допомогою клієнта Eclipse CVS:

1. Виберіть «Створити новий проект → З перевірки CVS»

2. Створіть нове розташування. Перегляньте примітки нижче, щоб дізнатися, як правильно вибрати
протокол

3. Перегляньте Модулі доступний. Це дасть вам список голів у сховищі.
Звідти ви не зможете переглядати дерево. Тільки голови.

4. Підберіть ГОЛОВА коли запитує, яку гілку/тег перевірити. Зніміть прапорець «запустити майстер фіксації»
щоб уникнути фіксації файлу .project.

Примітки щодо протоколу: якщо ви використовуєте анонімний доступ через pserver, просто виберіть це. Ті
за допомогою доступу SSH слід вибрати ext протокол і налаштуйте ext доступ на
Параметри→Команда→CVS→Панель ExtConnection. Встановіть для CVS_SERVER значення "git cvsserver". Зауважте, що
підтримка паролів не підходить під час використання ext, ви точно захочете мати ключі SSH
налаштування.

Крім того, ви можете просто використовувати нестандартний протокол extssh, який пропонує Eclipse. в
цей випадок CVS_SERVER ігнорується, і вам доведеться замінити утиліту cvs на
сервер з git-cvsserver або маніпулюйте своїм .bashrc, щоб виклик резюме ефективно дзвонить
git-cvsserver.

КЛІЄНТИ KNOWN TO РОБОТА


· CVS 1.12.9 на Debian

· CVS 1.11.17 на MacOSX (з пакету Fink)

· Eclipse 3.0, 3.1.2 на MacOSX (див. Примітки клієнта Eclipse CVS)

· TortoiseCVS

ОПЕРАЦІЇ ПІДТРИМАНО


Підтримуються всі операції, необхідні для нормального використання, включаючи перевірку, різницю,
статус, оновлення, журнал, додавання, видалення, фіксація.

Більшість аргументів команди CVS, які читають теги CVS або номери версій (зазвичай -r), працюють, і
також підтримує будь-яку специфікацію git ref (тег, гілка, ідентифікатор коміту тощо). Однак номери версій CVS
для нестандартних гілок погано емулюються, а журнал cvs не показує теги чи гілки
зовсім. (Номери версій CVS не головної гілки зовні нагадують номери версій CVS,
але насправді вони безпосередньо кодують ідентифікатор git commit, а не представляють кількість
перегляди з моменту відділення.)

Зауважте, що є два способи оплатити певне відділення. Як описано в іншому місці на
на цій сторінці параметр "module" cvs checkout інтерпретується як назва гілки, і це
стає головним відділенням. Вона залишається основною гілкою для даної пісочниці, навіть якщо ви
тимчасово зробити іншу гілку липкою за допомогою cvs update -r. Крім того, аргумент -r
може вказати іншу гілку для перевірки, навіть якщо модуль все ще є
«головна» гілка. Компроміси (як реалізовано зараз): кожен новий «модуль» створює новий
базу даних на диску з історією для даного модуля, а після створення бази даних,
операції проти цієї головної гілки є швидкими. Або, альтернативно, -r не бере жодних додаткових
дискового простору, але може бути значно повільнішим для багатьох операцій, як-от оновлення cvs.

Якщо ви хочете звернутися до git refspec, який містить символи, заборонені CVS, ви
є два варіанти. По-перше, це може просто надати git refspec безпосередньо до
відповідний аргумент CVS -r; деякі клієнти CVS, здається, не дуже перевіряють працездатність
аргумент. По-друге, якщо це не вдається, ви можете використати спеціальний механізм екранування символів, який
використовує лише символи, дійсні в тегах CVS. Послідовність із 4 або 5 символів
форма (підкреслення ("_"), тире ("-"), один або два символи та дефіс ("-")) може кодувати
різні символи на основі однієї або двох літер: "s" для косої риски ("/"), "p" для крапки
("."), "u" для підкреслення ("_") або дві шістнадцяткові цифри для будь-якого значення байта взагалі
(зазвичай номер ASCII або, можливо, частина символу в кодуванні UTF-8).

Застарілі операції моніторингу не підтримуються (редагування, перегляд тощо). Експорт і
теги (теги та гілки) на цьому етапі не підтримуються.

CRLF Лінія Закінчення Перетворення
За замовчуванням сервер залишає -k режим порожній для всіх файлів, який викликає клієнт CVS
розглядати їх як текстові файли, що підлягають перетворенню в кінці рядка на деяких платформах.

Ви можете змусити сервер використовувати атрибути перетворення кінця рядка для встановлення -k режими для
файли, встановивши змінну конфігурації gitcvs.usecrlfattr. Побачити gitattributes(5) більше
інформація про перетворення в кінці рядка.

Крім того, якщо конфігурацію gitcvs.usecrlfattr не ввімкнено або атрибути не дозволяють
автоматичне виявлення імені файлу, тоді сервер використовує конфігурацію gitcvs.allBinary для
налаштування за замовчуванням. Якщо встановлено gitcvs.allBinary, буде використано файл, не вказаний інакше
за замовчуванням до -kb режим. В іншому випадку -k режим залишається порожнім. Але якщо встановлено gitcvs.allBinary
«відгадати», то правильний -k режим буде визначено на основі вмісту файлу.

Для найкращої узгодженості з резюме, ймовірно, найкраще змінити значення за замовчуванням, встановивши
gitcvs.usecrlfattr у значення true, а gitcvs.allBinary у значення "guess".

ЗАЛЕЖНОСТІ


git-cvsserver залежить від DBD::SQLite.

GIT


Частина мерзотник(1) люкс

Використовуйте git-cvsserver онлайн за допомогою сервісів onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    Phaser
    Phaser
    Phaser — це швидке, безкоштовне та веселе відкриття
    вихідний ігровий фреймворк HTML5, який пропонує
    Взаємовідображення WebGL і Canvas
    настільні та мобільні веб-браузери. Ігри
    можна спільно...
    Завантажити Phaser
  • 2
    Двигун ВАССАЛ
    Двигун ВАССАЛ
    VASSAL — ігровий движок для створення
    електронні версії традиційної дошки
    і карткові ігри. Він забезпечує підтримку для
    рендеринг і взаємодія ігрових елементів,
    і ...
    Завантажити VASSAL Engine
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF - це бібліотека Java для створення
    і редагування файлів PDF за допомогою LGPL і
    Ліцензія з відкритим кодом MPL. OpenPDF - це
    LGPL/MPL з відкритим кодом наступник iText,
    має ...
    Завантажте OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Система для автоматизації
    Географічні аналізи - це географічні
    Програмне забезпечення інформаційної системи (ГІС) с
    величезні можливості для геоданих
    обробка та ана...
    Завантажити SAGA GIS
  • 5
    Панель інструментів для Java/JTOpen
    Панель інструментів для Java/JTOpen
    IBM Toolbox для Java / JTOpen є a
    бібліотека класів Java, що підтримують
    програмування клієнт/сервер та Інтернет
    моделі до системи під керуванням OS/400,
    i5/OS, o...
    Завантажте Toolbox для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (або D3 для документів, керованих даними)
    це бібліотека JavaScript, яка дозволяє вам
    створювати динамічні інтерактивні дані
    візуалізації у веб-браузерах. З D3
    ти ...
    Завантажити D3.js
  • Детальніше »

Команди Linux

  • 1
    abidiff
    abidiff
    abidiff - порівняння ABI файлів ELF
    abidiff порівнює двійковий файл програми
    Інтерфейси (ABI) двох спільних бібліотек
    у форматі ELF. Воно випромінює змістовне
    звіт...
    Запустіть abidiff
  • 2
    abidw
    abidw
    abidw - серіалізує ABI ELF
    файл abidw читає спільну бібліотеку в ELF
    форматує та створює представлення XML
    свого ABI до стандартного виводу. The
    випущений ...
    Запустіть abidw
  • 3
    copac2xml
    copac2xml
    bibutils - перетворення бібліографії
    комунальні послуги ...
    Запустіть copac2xml
  • 4
    копт
    копт
    copt - оптимізатор вічка SYSNOPIS:
    файл copt.. ОПИС: copt - це a
    оптимізатор вічко загального призначення. Це
    читає код зі свого стандартного вводу та
    пише...
    Біг копт
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - заголовок збірки
    декларації з документів Stx ...
    Запустіть gather_stx_titles
  • 6
    гатлінг-бенч
    гатлінг-бенч
    bench - http benchmark ...
    Лава для бігу Гатлінга
  • Детальніше »

Ad