[27] Git はバージョン管理システムです。
[28] CVS、Subversion などを置き換えバージョン管理システムの事実上の標準となっています。 普及開始期には似たコンセプトと操作性の Mercurial と市場を二分していましたが、 GitHub の成功もあって Git への移行が進みました。
[16] HTTPリダイレクトを使って、旧リポジトリーのディレクトリー以下すべての path と query を保存して新リポジトリーの URL を示せば、 git クライアントに新リポジトリーを参照させることができます。
git:
URL scheme[19] git:
URL scheme は Git 独自のプロトコルを表します。
[18] git-clone(1) ( ( 版)) https://www.kernel.org/pub/software/scm/git/docs/git-clone.html#URLS
[51] GitHub はこのプロトコルへの対応をやめてしまいました。 セキュリティーのためとはいえ非互換変更は困ったものです。
[54] cpanm - get, unpack build and install modules from CPAN - metacpan.org, https://metacpan.org/dist/App-cpanminus/view/bin/cpanm#arguments
cpanm git://github.com/plack/Plack.git@1.0000 # tag cpanm git://github.com/plack/Plack.git@devel # branch
[29]
なにも変更なく
git commit
すると、
no changes added to commit
... とエラーメッセージが出て、 exit code が 1 で失敗して終了します。
[30]
--allow-empty
オプションをつけて実行すればエラーになるのは防げますが、
空のコミットは作られてしまいます。
[32] 変更がなくてもエラーにならず、 空のコミットを作らせもせず、 しかしそれ以外のエラーがあれば通常通り報告させたいときは、
git diff-index --quiet HEAD --cached || git commit
... とすれば良いようであります >>31。
[33] git としては問題なくても、ホスティングサービスでエラーになるファイルサイズ制限があります。
[35] GitHub ではファイルのサイズが 50MB で警告、 100MB で push 拒否されます。 >>34
[36] GitHub の Webブラウザーインターフェイスでは 25MB 超のファイルをアップロードできません。 >>34
[44] BitBucket の文書にはファイルサイズの制限が見当たりません。制限はないのかも知れません。
[37] GitHub はリポジトリーのサイズが 1GB 未満を推奨、 5GB 未満を強く推奨しています。 また GitHub の動作に支障があるレベルだと連絡が来るそうです (が具体的な条件は書かれていません)。 >>34
[46] GitHub は以前は 75GB が警告、 100GB が上限と書かれていたそうです。 その後 5GB 超で削除要求メールが来たという報告があります。 >>45
[40] BitBucket はリポジトリーが 1GB で警告メールが来て、 2GB で push できなくなります。 >>39 Git 限定とは書いていないので Mercurial (サービス終了済み) も同じでしょうか。
[43] >>40 より新しいドキュメントには、実際にはそれより上限が緩い旨が書かれています。 >>41, >>42
[48] GitLab.com ではリポジトリーサイズの最大が 10GB です。 >>47
[49] ただし GitLab.com は令和4年10月から namespace ごとのストレージ上限が適用されます。 おそらくリポジトリーはこのストレージサイズの枠内に入っているので、 Free プランだと5GBが最大になります。
[1] InterfacesFrontendsAndTools - GitWiki ( 版) http://git.or.cz/gitwiki/InterfacesFrontendsAndTools
[2] Git - Fast Version Control System ( 版) http://git-scm.com/
[3] git(1) ( 版) http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/git.html
[4] CVS リポジトリを Git へ移行する | ITEMAN Blog - アイテマンブログ ( 版) http://iteman.jp/blog/2009/05/cvs-git.html
[5] cvs2svn: cvs2git Documentation ( 版) http://cvs2svn.tigris.org/cvs2git.html
[6] git-cvsimport(1) ( ( 版)) http://www.kernel.org/pub/software/scm/git/docs/git-cvsimport.html
[7] hatena/Git-for-Designers - GitHub ( ( 版)) https://github.com/hatena/Git-for-Designers
$ git config -f .gitmodules --get-regexp "^submodule\.[^.]+\.path$"| sed 's/^submodule\.\(\S\+\)\.path.*/\1/'|xargs -l1 -i% -- sh -c 'echo git submodule add `git config -f .gitmodules --get "submodule.%.url"` `git config -f .gitmodules --get "submodule.%.path"`'
[9] Git on WebApp with Perl // Speaker Deck ( ( 版)) https://speakerdeck.com/u/hakobe/p/git-on-webapp-with-perl
[10] Git on WebApp with perl - Kyoto.pm Tech Talks #01 - YouTube ( ( 版)) http://www.youtube.com/watch?v=mZ93iLTHrlg
[11] Git::Repository - search.cpan.org ( ( 版)) http://search.cpan.org/dist/Git-Repository/lib/Git/Repository.pm
[12] Guita/lib/Guita/Mapper/Git.pm at master · hakobe/Guita · GitHub ( ( 版)) https://github.com/hakobe/Guita/blob/master/lib/Guita/Mapper/Git.pm
[13] git-submodule-track ( ( 版)) https://gist.github.com/motemen/667573
[14] Git の特定リビジョンのツリーをファイルシステムのように扱う Go の実装 - 詩と創作・思索のひろば ( 版) http://motemen.hatenablog.com/entry/2014/12/16/go-vcs-fs
$ git config --global color.ui auto
repo.git/info/refs?service=git-upload-pack
とrepo.git/git-upload-pack
をリダイレクトすれば十分なようです。