| GNUアーキテクチャ | |
|---|---|
![]() | |
| 原作者 | トーマス・ロード |
| 開発者 | アンディ・タイ |
| 最終リリース | 1.3.5 / 2006年7月20日 ( 2006-07-20 ) |
| 執筆 | C |
| オペレーティング·システム | Linux、Windows、Mac OS X |
| タイプ | 改訂管理 |
| ライセンス | GPL |
| Webサイト | www.gnu.org/software/gnu-arch/ |
GNU archソフトウェアは、 GNUプロジェクトの一部であり、GNU一般公衆利用許諾契約書に基づいてライセンスされている分散型リビジョン管理システムです。ソースツリーに加えられた変更を追跡し、プログラマが複数の人によって、または異なる時期に行われた変更を統合したり、その他の方法で操作したりするのを支援します。
2009年現在、GNU archの公式ステータスは非推奨であり、セキュリティ修正のみが適用されます。[ 1 ]その後、Bazaar(または「bzr」)も公式のGNUプロジェクトとなり、GNU archの代替とみなすことができます。これはarchのフォークではありません。[ 2 ]
archは分散型で非中央集権的なバージョン管理システムであるため、archを使用して保存される各リビジョンはグローバルに一意に識別可能です。このような識別子は、分散環境において、全く異なるソースからの変更を容易にマージしたり、「チェリーピック」したりするために使用できます。
分散型であるということは、開発者が貢献するために認証を受ける必要のある中央サーバーが不要であることを意味します。他のシステムと同様に、プロジェクトの完全な読み取り専用コピーがHTTP、FTP、またはSFTPを介して「公式」リポジトリでアクセス可能になります。その後、貢献者は変更を加えて独自の公開アーカイブ(リポジトリ)に公開することが推奨され、主任開発者が変更セットを公式リポジトリに手動でマージできるようになります。
中央集権型リビジョン管理システムの動作をシミュレートするために、主任開発者はサーバーへのシェルアクセス(SSH)または書き込みアクセス(FTP、SFTP、WebDAV )を許可し、承認されたユーザーが中央サーバーにコミットできるようにすることができる。多くの場合、GNUアーキテクチャが管理するプロジェクトでは、貢献者からの変更をマージする、寛大な独裁者のようなリーダーが存在する。
GNUアーキテクチャには他にもいくつかの特徴があります。
GNU arch のオリジナル作者およびメンテナーはThomas Lord で、2001 年にプロジェクトを開始しました。GNU arch リポジトリを操作するために使用されるコマンドはtla で、これはTom Lord's Arch の頭文字をとったものです。Lord は、CVS の代替としてシェルスクリプトのコレクションとして GNU arch を開始しました。 [ 3 ] 2003 年に、arch はGNUプロジェクトの一部になりました。[ 4 ]
GNU arch プロジェクトは何度か分岐し、その結果、 Canonical Ltd.の現在は放棄されたBazフォークと Walter Landry の ArX プロジェクトが生まれました。どちらのフォークも敵対的な反応を引き起こしました。ArX フォークは方向性に関する深刻な意見の相違が原因であり、Lord は Canonical の Baz プロジェクト発表のアプローチを強く批判しました。[ 5 ]
2005 年 8 月、Lord は GNU arch のメンテナーを辞任すると発表し、Baz を GNU arch のメイン プロジェクトにすることを推奨しました。[ 6 ] しかし、これは実現しませんでした。Canonical は Baz フォークを放棄し、別のBazaarプロジェクトを採用しました。 [ 7 ] [ 8 ]また、2006 年に Baz の 1.5 リリースは破棄されました。[ 9 ] 2005 年 10 月、Andy Tai は Lord とFree Software Foundation がGNU arch のメンテナーになるという彼の申し出を受け入れたと発表しました。[ 10 ] Tai はその後、Baz の多くの機能を tla に統合しましたが、[ 9 ] 2008 年 3 月に tla はもはや活発に開発されておらず、他のバージョン管理システムと競争できなくなっていると示しました。[ 1 ]
revc は Thomas Lord によるプロトタイプのリビジョン管理プロジェクトで、GNU arch 2.0 になることを目指しており、tla から根本的に脱却し、Gitリビジョン管理システムから多くのアイデアを取り入れるように設計されていました。[ 11 ] 2005 年 6 月に発表され、[ 11 ]最初のプレリリースは 7 月に[ 12 ]、最後のリリースは Lord がメンテナーを辞任する直前の 8 月に行われました。[ 13 ] revc にはコアコマンドが 10 個しかなく、Lord は制限的な名前空間や複雑なファイル命名規則を排除し、速度を向上させることを意図していました。[ 12 ]
2008年現在、revcの最後のプレリリースである0.0x2はまだ入手可能である[ 14 ]。LordはGNU archのいくつかのアイデアにまだ興味を持っていたが、revcの開発を再開するためのリソースがなかった[ 15 ] 。Thomas Lordは2022年6月に亡くなった[ 16 ]。
GNU arch に対する最も一般的な批判は、他のバージョン管理システムの経験があるユーザーにとっても習得が難しいという点である。特に、GNU arch には多数のコマンドがあり、新規ユーザーにとっては威圧的に感じられる可能性があり、また、いくつかの設計要素は、Lord のバージョン管理手法に対する好みを強く押し付けすぎていると言える。[ 17 ] [ 18 ]
GNU arch は非常に珍しいファイル命名規則を使用しているため批判されることもあります ( Wayback Machineの"FunkyFileNames" (2007 年 8 月 8 日アーカイブ) )。そのため、スクリプトや一部のシェルでの使用、および非 Unix オペレーティングシステムへの移植が困難になる場合があります。GNU arch は、内部コードの複雑さを軽減するという設計上の決定の一環として、実行時間が遅いという批判を受けています。[ 19 ]
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)以前のバージョンは、プロジェクトが Tom の望む方法で実行されることに大きく依存していました。奇妙な
[
sic
]
ファイル規約、クリーンなツリーからのみコミットするなど。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)