[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Switching to Git?
Switching to Git?
Mon, 20 Aug 2007 23:45:31 +0200
Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)
How about switching from CVS to Git ?
What this would bring us:
* Decentralized Development
As you may know, this would allow every interested user to hack on
their side, pulling changes from the main repository as they see
fit, and promoting their changes whenever they want. This is really
* Off-Line Operation
As a corollary, this would allow off-line operation on the local
copy of the repository.
* Speed and Bandwidth Improvement
Git operates on a local repository, which makes operations very
fast. This is a significant change when one has got used to waiting
for "cvs diff" to complete for ages. ;-)
* Transactional, Changeset-Oriented
Commit operations are transactional and changeset-oriented. Changes
to a collection of files that are committed at the same time do
appear as a single "change set", rather than as separate changes as
with CVS. This means that GNU-style change logs can be generated
automatically using tools like `git2cl' .
* Nice Web Interface
See  for example.
These are the most obvious benefits.
Note that Git is now supported on Savannah . It's used by various
GNU projects, and also non-GNU projects (one of which is quite famous
Han-Wen did a full import of the CVS history into Git some time ago .
Note that it preserves tags and branches. This Git repository is kept
in sync with CVS using a cron job that runs on Han-Wen's machine.
However, it is not automatically synchronized in the other direction,
making it inconvenient.
Of course, nothing's black and white and Git has some weaknesses, too.
Most notably, its UI is a bit rough and at least not to everyone's taste
(which can be worked around by using companion tools such as Cogito
- Switching to Git?,
Ludovic Courtès <=