ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° ΠΈΠ· рСпозитория GitHub?

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ «ΡΡ‚атистику языка», которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, написанного Π½Π° языкС. Однако ΠΎΠ½ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Часто я Ρ…ΠΎΡ‡Ρƒ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ ΠΈ слоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° количСство строк ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅. 500 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, 100 000 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ большой/слоТный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π˜Ρ‚Π°ΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строки ΠΊΠΎΠ΄Π°, написанныС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках, ΠΈΠ· рСпозитория GitHub, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π· Π΅Π³ΠΎ клонирования?

Вопрос » ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство строк Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ git » ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ строки ΠΊΠΎΠ΄Π° Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git, Π½ΠΎ:

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, это ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для «Π±Ρ‹ΡΡ‚Ρ€ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°».

ΠžΠ’Π’Π•Π’Π«

ΠžΡ‚Π²Π΅Ρ‚ 1

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, cloc-git

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот сцСнарий ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для подсчСта количСства строк Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Installation

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ любой URL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ git clone ΠΏΡ€ΠΈΠΌΠ΅Ρ‚. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ https://github.com/evalEmpire/perl5i.git (HTTPS) ΠΈΠ»ΠΈ [email protected]:evalEmpire/perl5i.git (SSH). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ этот URL Π½Π° любой страницС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GitHub, Π½Π°ΠΆΠ°Π² «ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ».

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ скрипт ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Лингвист

ΠžΡ‚Π²Π΅Ρ‚ 2

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ даст Π²Π°ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ количСство β†’

ΠžΡ‚Π²Π΅Ρ‚ 3

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ·:

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github

ΠžΡ‚Π²Π΅Ρ‚ 4

Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° страницу Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²/Π²ΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ², Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ список всСх участников Ρ€Π΅ΠΏΠΎ ΠΈ количСство строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ.

Если я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ совокупного количСства строк, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· совокупного количСства строк, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… срСди всСх участников, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство строк ΠΊΠΎΠ΄Π° Π² Ρ€Π΅ΠΏΠΎ. (EDIT: оказалось, Ρ‡Ρ‚ΠΎ я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пропустил. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ orbitbot для Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.)

Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ доступны Π² GitHub API. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я написал быстрый script для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ расчСта:

ΠžΡ‚Π²Π΅Ρ‚ 5

Π₯отя Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ это с солью, этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ YAML ΠΈ JSON, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Π±-сайт ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Π½ΠΎ API Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚.

ΠžΡ‚Π²Π΅Ρ‚ 6

Π’ настоящСС врСмя Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Github.com ΠΈΠ»ΠΈ ΠΈΡ… API-интСрфСйс

Π― ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ» с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ», Ρ‡Ρ‚ΠΎ это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° github.com. Они ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ это ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ вмСстС с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π“ΠΈΡ‚ΡƒΠ±Π°, поэтому, надСюсь, это Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Если это Ρ‚Π°ΠΊ, я ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽ этот ΠΎΡ‚Π²Π΅Ρ‚.

ΠžΡ‚Π²Π΅Ρ‚ 7

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API GitHub, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ sloc ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

Π›ΠΈΡ‡Π½ΠΎ я сдСлал Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ chrome, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство SLOC ΠΊΠ°ΠΊ Π² спискС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² github, Ρ‚Π°ΠΊ ΠΈ Π½Π° страницС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой Ρ‚ΠΎΠΊΠ΅Π½ доступа для доступа ΠΊ частным рСпозиториям ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости api.

ΠžΡ‚Π²Π΅Ρ‚ 8

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Firefox Github SLOC

Π― написал нСбольшой Π°Π΄Π΄ΠΎΠ½ firefox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π° Π½Π° страницах ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° github: Github SLOC

ΠžΡ‚Π²Π΅Ρ‚ 9

Если Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: «ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π§Π˜Π‘Π›Πž Π›Π˜ΠΠ˜Π˜ рСпозитория github», ΠΎΡ‚Π²Π΅Ρ‚ Π½Π΅ соотвСтствуСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌ.

Однако, Ссли вопрос Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² «ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ SCALE ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°», я ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, глядя Π½Π° Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄Π΅Π»ΡŒΡ‚Π° ΠΈΠ· всСх Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ порядок Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ довольно Π±Π»ΠΈΠ·ΠΊΠΎ.

Насколько Π²Π΅Π»ΠΈΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ «Π΄ΠΎΠΊΠ΅Ρ€»?

Π’ вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ api.github.com/repos/ORG_NAME/PROJECT_NAME Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ api.github.com/repos/docker/docker

Π’ Ρ…ΡΡˆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ size:

ΠžΡ‚Π²Π΅Ρ‚ 10

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΈ пояснСния

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство строк Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ git

Как Π±Ρ‹ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство строк, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²ΠΎ всСх Ρ„Π°ΠΉΠ»Π°Ρ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ git?

git ls-files Π΄Π°Π΅Ρ‚ ΠΌΠ½Π΅ список Ρ„Π°ΠΉΠ»ΠΎΠ², отслСТиваСмых git.

Π― ΠΈΡ‰Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для cat всСх этих Ρ„Π°ΠΉΠ»ΠΎΠ². Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

xargs Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅:

Но с большСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ отличия ΠΎΡ‚ пустого Π΄Π΅Ρ€Π΅Π²Π° Π΄ΠΎ вашСго Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°. Π§Ρ‚ΠΎ происходит для подсчСта всСх строк Π² вашСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ числа Π² вашСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅, сдСлайтС это:

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ этот счСт, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ CLOC (Β«ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк ΠΊΠΎΠ΄Π°Β»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Ρ€Π°Π·Π±ΠΈΠ²ΠΊΡƒ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… ΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… строк ΠΊΠΎΠ΄Π° ΠΏΠΎ языку.

ΠžΡ‚Π²Π΅Ρ‡Π°Ρ Π½Π° вопрос, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° wc Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ нСсколько строк с Β«totalΒ»? Π― нашСл ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ:

Или, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ΄:

Команда Π²Ρ‹ΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Linux ΠΈ OS X. ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Π°Ρ вСрсия этого

Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π² Windows.

Для записи, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ пустых строк,

Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с часов 1.68:

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я сСйчас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ:

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ссли Π²Ρ‹ считаСтС всС тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΌΠΈ вас Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Если Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Ρ‚. Π”., МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Π­Ρ‚ΠΎΡ‚ инструмСнт Π½Π° github https://github.com/flosse/sloc ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ способом. Π­Ρ‚ΠΎ создаст статистику вашСго исходного ΠΊΠΎΠ΄Π°:

Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ / рассматриваСмыС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ

Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° ΠΈΠ· рСпозитория Github?

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Github Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ «статистику языка», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отобраТаСтся ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, написанного Π½Π° языкС. Однако ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Часто я Ρ…ΠΎΡ‡Ρƒ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… ΠΈ слоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° количСство строк ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅. 500 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, 100 000 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ большой / слоТный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π˜Ρ‚Π°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строки ΠΊΠΎΠ΄Π°, написанныС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках ΠΈΠ· рСпозитория Github, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π· клонирования?

Π­Ρ‚ΠΎΡ‚ вопрос ( количСство строк Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ git ) ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ строки ΠΊΠΎΠ΄Π° Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git, Π½ΠΎ:

Π’ Ρ†Π΅Π»ΠΎΠΌ, это ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для «быстрой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Β».

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, cloc-git

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот сцСнарий ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для подсчСта количСства строк Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠœΠΎΠ½Ρ‚Π°ΠΆ

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

Запуск ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ сохранСнии ΠΈ установкС сцСнария ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

лингвист

Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° страницу Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² / Π²ΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ², Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ список всСх участников Ρ€Π΅ΠΏΠΎ ΠΈ количСство строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ.

Если я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ упустил, вычитая суммарноС количСство строк, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· совокупного количСства строк, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… срСди всСх участников, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство строк ΠΊΠΎΠ΄Π° Π² Ρ€Π΅ΠΏΠΎ. (Π Π•Π”ΠΠšΠ’ΠžΠ Π: ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пропустил. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ orbitbot для Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.)

Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ доступны Π² API GitHub. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я написал быстрый скрипт для извлСчСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ расчСта:

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github

Π’ настоящСС врСмя Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Github.com ΠΈΠ»ΠΈ ΠΈΡ… API-интСрфСйс

Π― ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ» с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ», Ρ‡Ρ‚ΠΎ это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° github.com. Они ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ это ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ вмСстС с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π“ΠΈΡ‚ΡƒΠ±Π°, поэтому, надСюсь, это Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Если это Ρ‚Π°ΠΊ, я ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽ этот ΠΎΡ‚Π²Π΅Ρ‚.

ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ, ΠΎΡ‚Π²Π΅Ρ‚ Π ΠΎΡ€ΠΈ О’КСйна – блСстящая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°, основанная Π½Π° cloc ΠΈ Π½Π΅Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ ΠΊΠ»ΠΎΠ½ repo.

Π₯отя Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ это с солью, этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ YAML ΠΈ JSON, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Π±-сайт ΠΏΡ€ΠΈΠ·Π½Π°Π΅Ρ‚, Π½ΠΎ API Π½Π΅Ρ‚.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API-интСрфСйс GitHub, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ sloc ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

Π›ΠΈΡ‡Π½ΠΎ я сдСлал Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ chrome, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство SLOC ΠΊΠ°ΠΊ ΠΏΠΎ списку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² github, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ страницС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой Ρ‚ΠΎΠΊΠ΅Π½ доступа для доступа ΠΊ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ рСпозиториям ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости api.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Firefox GITUB SLOC

Π― написал нСбольшой Π°Π΄Π΄ΠΎΠ½ Firefox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π° Π½Π° страницах ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° github: Github SLOC

Если Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: Β«ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π§Π˜Π‘Π›Πž Π›Π˜ΠΠ˜Π™ Π Π•Π“Π£Π›Π˜Π ΠžΠ’ΠΠΠ˜Π― githubΒ», ΠΎΡ‚Π²Π΅Ρ‚ Π½Π΅ соотвСтствуСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌ.

Однако, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: Β«ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ SCALE ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Β», я ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, глядя Π½Π° Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€. РазумССтся, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄Π΅Π»ΡŒΡ‚Π° ΠΈΠ· всСх Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ порядок Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ довольно Π±Π»ΠΈΠ·ΠΎΠΊ.

Насколько большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Β«Π΄ΠΎΠΊΠ΅Ρ€Β»?

Π’ своСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ api.github.com/repos/ORG_NAME/PROJECT_NAME, Ρ‚.Π΅. api.github.com/repos/docker/docker

Π’ Ρ…ΡΡˆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ size:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° ΠΈΠ· рСпозитория GitHub?

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ «ΡΡ‚атистику языка», которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, написанного Π½Π° языкС. Однако ΠΎΠ½ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Часто я Ρ…ΠΎΡ‡Ρƒ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ ΠΈ слоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° количСство строк ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅. 500 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, 100 000 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ большой/слоТный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π˜Ρ‚Π°ΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строки ΠΊΠΎΠ΄Π°, написанныС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках, ΠΈΠ· рСпозитория GitHub, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π· Π΅Π³ΠΎ клонирования?

Π’ вопросС » ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ git » ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ строки ΠΊΠΎΠ΄Π° Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git, Π½ΠΎ:

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, это ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для «Π±Ρ‹ΡΡ‚Ρ€ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°».

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, cloc-git

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот скрипт для подсчСта количСства строк Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Installation

ИспользованиС

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ скрипт Shell, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Лингвист

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ·:

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ githubΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ github

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ даст Π²Π°ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ количСство β†’

Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° страницу Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²/участников, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ список всСх участников Ρ€Π΅ΠΏΠΎ ΠΈ сколько строк ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ.

Если я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ упустил, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ суммарного количСства ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… строк ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства строк, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… срСди всСх участников, Π΄ΠΎΠ»ΠΆΠ½ΠΎ привСсти ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ количСству строк ΠΊΠΎΠ΄Π° Π² Ρ€Π΅ΠΏΠΎ. (Π Π•Π”ΠΠšΠ’Π˜Π ΠžΠ’ΠΠ’Π¬: оказываСтся, Ρ‡Ρ‚ΠΎ я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ упустил Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ². ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ orbitbot для Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.)

ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Chrome DevTools, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ».

ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ отвСтствСнности (спасибо lovasoa ):

Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с частичкой соли, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² (sorich87/bootstrap-tour) это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ значСниям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΈΠ· API GitHub.

ΠŸΠΎΡ…ΠΎΠΆΠ΅, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для расчСта ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства строк Π½Π΅ совсСм Π½Π°Π΄Π΅ΠΆΠ΅Π½. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ orbitbot для Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

Π’ настоящСС врСмя Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Github.com ΠΈΠ»ΠΈ ΠΈΡ… API

Π― ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ» со слуТбой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ», Ρ‡Ρ‚ΠΎ этого нСльзя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° github.com. Они ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ это ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Github, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, надСюсь, это Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Если это Ρ‚Π°ΠΊ, я ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽ этот ΠΎΡ‚Π²Π΅Ρ‚.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub API для получСния sloc, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π›ΠΈΡ‡Π½ΠΎ я сдСлал Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ chrome, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство SLOC ΠΊΠ°ΠΊ Π² спискС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² github, Ρ‚Π°ΠΊ ΠΈ Π½Π° страницС свСдСний ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ доступа для доступа ΠΊ частным рСпозиториям ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости API.

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Firefox Github SLOC

Π― написал нСбольшой Π°Π΄Π΄ΠΎΠ½ Firefox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π° Π½Π° страницах ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° github: Github SLOC

Если вопрос «ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠšΠžΠ›Π˜Π§Π•Π‘Π’Π’Πž Π›Π˜ΠΠ˜Π™ Π Π•ΠŸΠž GitHub», ΠΎΡ‚Π²Π΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‚Π°Ρ….

Однако, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос «ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°», я ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, глядя Π½Π° Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄Π΅Π»ΡŒΡ‚Ρ‹ ΠΎΡ‚ всСх Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ порядок Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ довольно Π±Π»ΠΈΠ·ΠΎΠΊ.

Насколько Π²Π΅Π»ΠΈΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ «Π΄ΠΎΠΊΠ΅Ρ€»?

Π’ своСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ api.github.com/repos/ORG_NAME/PROJECT_NAME, Ρ‚.Π΅. api.github.com/repos/docker/docker

Π’ Ρ…ΡΡˆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π° ΠΈΠ· рСпозитория GitHub?

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ β€œΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ статистику», которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, написанного Π½Π° Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ языкС. Однако ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько строк ΠΊΠΎΠ΄Π° содСрТит ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Часто я Ρ…ΠΎΡ‡Ρƒ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ ΠΈ слоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° количСство строк ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅. 500 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, 100 000 строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ большой / слоТный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π˜Ρ‚Π°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строки ΠΊΠΎΠ΄Π°, написанныС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках, ΠΈΠ· рСпозитория GitHub, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π· Π΅Π³ΠΎ клонирования?

Вопрос » ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство строк Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ git ” Π·Π°Π΄Π°Π΅Ρ‚ вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ строки ΠΊΠΎΠ΄Π° Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git, Π½ΠΎ:

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, это ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ слишком Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎ для β€œquickly checking the scale of a project”.

14 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Github API V3, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство Π²ΠΈΠ»ΠΎΠΊ для рСпозитория, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ: GET /repos/:owner/:repo/forks Запрос приносит ΠΌΠ½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 30 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², Π΄Π°ΠΆΠ΅ Ссли Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит большС, я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΡƒΠ³Π»ΠΈΠ» ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π° ограничСния памяти API Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 30 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ shell, cloc-git

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот скрипт shell для подсчСта количСства строк Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Установка

ИспользованиС

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡ‚Ρ€ΡƒΠΆΠ΄Π°Ρ‚ΡŒ сСбя сохранСниСм ΠΈ установкой скрипта shell, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Лингвист

Π£ мСня Π±Ρ‹Π» с ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π²ΠΎΠΊΡ€ΡƒΠ³ с API Github, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π» Octokit ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ собствСнный рСпозитория README, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, вошСдшСго Π² систСму?

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *