unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: rms@gnu.org
Cc: emacs-devel@gnu.org, esr@thyrsus.com, keramida@ceid.upatras.gr,
	acm@muc.de, eliz@gnu.org
Subject: Re: What a modern collaboration toolkit looks like
Date: Sun, 06 Jan 2008 06:11:06 +0900	[thread overview]
Message-ID: <877iio0yhh.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <E1JBA2M-0008Lj-ER@fencepost.gnu.org>

Richard Stallman writes:

 > I think that is a confusing way to compare them.
 > It focuses on similarities in implementation
 > rather than on similarities in use and role.

Exactly.  Let's try the use and role explanation.

Usage summary:

    cvs commit ~ git commit ; git push
    cvs update ~ git pull

Discussion:

In CVS, there normally is no local repository, and even if there were
one, CVS provides no mechanism for communication between the local
repository and the "official" one.  So to record your changes as a new
version *and* publish your changes, you simply commit:

                   you
  workspace --- cvs commit --> public repo
                               on server

To get others' changes, you pull:

                   you
  workspace <-- cvs update --- public repo
                               on server

In git (and all the others under discussion), to record your changes
as a new version, you commit, and then to publish your changes, you
push:

                   you                            you
  workspace --- git commit --> private repo --- git push --> public repo
                               on laptop                     on server

To get other's changes, you pull:

                                   you
  workspace <-- private repo <-- git pull --- public repo
                on laptop                     on server

Note that the update of the local workspace is implicit (automatically
done by "git pull").  For you personally, frequently disconnected but
(I assume) carrying a laptop, that's all you *need* to know, and
that's all you'll see of what's happening.

The omission of discussion of which branch or trunk etc is deliberate
and correct.  All VCSes have a notion of the "default branch".  All
you *need* to know is that the "default branch" of the "official
repository is the "trunk", and that the "usual way" of setting up a
local clone results in CVS-like behavior, except that to update the
trunk, you must first commit locally, then push to the official
repository.

This separation of commit from push is a huge advantage to those who
are often disconnected.

I should also mention that some dVCSes *require* that you explicitly
select the commits you wish to make.  For example, if you want git to
behave recursively the way "cvs commit" does, you need to say "git
commit -a".  However, the analog of "cvs commit file1 file2 ..." is
"git commit file1 file2 ...", so I would guess you won't find it hard
to acquire the habits.

There are many other advantages to these tools, but you can acquire
those skills at need.  You'll also *want* a deeper understanding of
the various operations before making a decision, I'm sure.  My purpose
here is merely to show how to map your current workflow into the
workflow you'd need to use with a dVCS to accomplish the same tasks.

Note that others can be doing all the wild-sounding things like "local
branching", "pulling from private repos", "cherrypicking", and
"rebasing", but you don't need to notice until it suits your purpose.

Finally, you probably already know this, but I should caution the
reader that words like "commit" and "push" alone do not necessarily
have the same meaning as "$VCS commit" and "$VCS push" do.  In fact,
the various VCSes differ quite a bit in usage, and often end up with a
set of commands implementing the same semantics but with the command
names permuted!  But those are fine points.  The basic roles of the
commands (at the eagle's eye view given above) remain intuitively
similar.

  parent reply	other threads:[~2008-01-05 21:11 UTC|newest]

Thread overview: 277+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-30 12:22 What a modern collaboration toolkit looks like Eric S. Raymond
2007-12-30 15:32 ` Thien-Thi Nguyen
2007-12-30 15:42 ` Richard Stallman
2007-12-30 17:22   ` Eric S. Raymond
2007-12-30 20:25     ` Robert J. Chassell
2007-12-30 21:55     ` Nick Roberts
2007-12-30 22:25       ` Lennart Borgman (gmail)
2007-12-30 22:58         ` Richard Stallman
2007-12-30 22:58     ` Richard Stallman
2007-12-31  2:58       ` Eric S. Raymond
2007-12-31 12:14         ` Thien-Thi Nguyen
2008-01-01 23:57           ` John S. Yates, Jr.
2008-01-02  1:46             ` Thien-Thi Nguyen
2007-12-31 22:29         ` Richard Stallman
2008-01-01  0:19           ` Leo
2007-12-31  4:31 ` Eli Zaretskii
2007-12-31 13:07   ` Eric S. Raymond
2007-12-31 20:57     ` Eli Zaretskii
2007-12-31 21:41       ` Eric S. Raymond
2007-12-31 23:00         ` Nick Roberts
2008-01-01  0:50           ` Eric S. Raymond
2008-01-01  4:22             ` Eli Zaretskii
2008-01-01  6:20               ` Eric S. Raymond
2007-12-31 23:12         ` Eli Zaretskii
2008-01-01  0:27           ` Dan Nicolaescu
2008-01-01  3:00             ` Mike Mattie
2008-01-01  7:57               ` Drew Adams
2008-01-02 19:28               ` Agustin Martin
2008-01-03  9:50               ` Richard Stallman
2008-01-05  3:34                 ` Mike Mattie
2008-01-06  8:09                   ` Richard Stallman
2008-01-03  9:50               ` Richard Stallman
2008-01-01 20:44             ` Eli Zaretskii
2008-01-02  4:17               ` Dan Nicolaescu
2008-01-05 10:48                 ` Eli Zaretskii
2008-01-01  0:57           ` Eric S. Raymond
2008-01-01  4:21             ` Eli Zaretskii
2008-01-01  0:10         ` Miles Bader
2008-01-01  1:06           ` Eric S. Raymond
2008-01-01  1:41             ` Miles Bader
2008-01-01  2:16               ` Eric S. Raymond
2008-01-01 19:43           ` Tom Tromey
2008-01-01 21:11             ` Nick Roberts
2008-01-02  0:25             ` Miles Bader
2008-01-02  1:12               ` Tom Tromey
2008-01-02 17:19                 ` On-the-fly compiling (was Re: What a modern collaboration toolkit looks like) Mark A. Hershberger
2008-01-02 20:57                   ` On-the-fly compiling Stefan Monnier
2008-01-02 22:33                     ` Lennart Borgman (gmail)
2008-01-02 23:09                   ` Tom Tromey
2008-01-02  9:53             ` What a modern collaboration toolkit looks like Richard Stallman
2008-01-01 11:28       ` Tassilo Horn
2008-01-01 20:36         ` Eli Zaretskii
2008-01-02  0:29           ` Miles Bader
2008-01-02  4:14             ` Eli Zaretskii
2008-01-02  4:33               ` Miles Bader
2008-01-02  8:24                 ` Werner LEMBERG
2008-01-02  8:20           ` Tassilo Horn
2008-01-03  9:50             ` Richard Stallman
2008-01-03 13:15               ` Ævar Arnfjörð Bjarmason
2008-01-04 13:56                 ` Stefan Monnier
2008-01-02  8:41           ` tomas
2008-01-03  9:50         ` Richard Stallman
2008-01-03 10:16           ` Miles Bader
2008-01-05  5:55             ` Richard Stallman
2008-01-05  6:59               ` Óscar Fuentes
2008-01-05 15:29                 ` Eli Zaretskii
2008-01-05 19:53                   ` Óscar Fuentes
2008-01-06  8:09                 ` Richard Stallman
2008-01-05  8:55               ` David Kastrup
2008-01-05  9:55                 ` Werner LEMBERG
2008-01-05 15:23                 ` Eli Zaretskii
2008-01-05 15:31                   ` Lars Magne Ingebrigtsen
2008-01-05 15:39                   ` David Kastrup
2008-01-06  8:09                 ` Richard Stallman
2008-01-06  9:51                   ` tomas
2008-01-06 11:02                   ` David Kastrup
2008-01-06 12:05                     ` Robert J. Chassell
2008-01-06 12:40                       ` David Kastrup
2008-01-06 16:51                         ` Robert J. Chassell
2008-01-06 17:03                           ` David Kastrup
2008-01-07  4:18                         ` Richard Stallman
2008-01-05 22:46               ` Stefan Monnier
2008-01-06 18:09                 ` Richard Stallman
2008-01-07 17:17               ` Gregory Collins
2008-01-07 23:21                 ` Stephen J. Turnbull
2008-01-08  0:25                   ` Gregory Collins
2008-01-08  0:51                     ` David Kastrup
2008-01-08  2:43                       ` Mike Mattie
2008-01-08  3:03                         ` YAMAMOTO Mitsuharu
2008-01-08  4:25                           ` Mike Mattie
2008-01-08 19:07                 ` Richard Stallman
2008-01-03 10:32           ` David Kastrup
2008-01-01 17:11     ` Alan Mackenzie
2008-01-01 18:05       ` Werner LEMBERG
2008-01-01 18:27         ` Alan Mackenzie
2008-01-01 18:28           ` Werner LEMBERG
2008-01-02  9:53             ` Richard Stallman
2008-01-02 10:36               ` Werner LEMBERG
2008-01-02 12:23                 ` Eric S. Raymond
2008-01-04  5:27                 ` Richard Stallman
2008-01-02 11:27               ` Thien-Thi Nguyen
2008-01-02 12:17               ` Eric S. Raymond
2008-01-03  1:26                 ` Stephen J. Turnbull
2008-01-03  2:49                   ` Eric S. Raymond
2008-01-04  5:27                 ` Richard Stallman
2008-01-04  5:35                   ` Miles Bader
2008-01-04 12:47                     ` Eric S. Raymond
2008-01-05 14:30                     ` Richard Stallman
2008-01-06  1:10                       ` Miles Bader
2008-01-04 12:45                   ` Eric S. Raymond
2008-01-05 14:30                     ` Richard Stallman
2008-01-05 15:29                       ` Eric S. Raymond
2008-01-05 15:59                       ` Andreas Schwab
2008-01-06  2:14                         ` Mike Mattie
2008-01-03  1:08               ` Giorgos Keramidas
2008-01-03  2:56                 ` Eric S. Raymond
2008-01-03  3:18                   ` Giorgos Keramidas
2008-01-04  5:27                 ` Richard Stallman
2008-01-04  8:51                   ` David Kastrup
2008-01-05 14:30                     ` Richard Stallman
2008-01-05 15:28                       ` David Kastrup
2008-01-06 10:46                         ` Richard Stallman
2008-01-06 11:10                           ` David Kastrup
2008-01-07  4:18                             ` Richard Stallman
2008-01-07  4:36                               ` dhruva
2008-01-07  4:52                               ` Sam Steingold
2008-01-07  5:09                                 ` dhruva
2008-01-07  8:17                                 ` David Kastrup
2008-01-07 15:37                                   ` Stefan Monnier
2008-01-07 15:47                                     ` David Kastrup
2008-01-07 16:22                                       ` Stefan Monnier
2008-01-07 17:09                                         ` David Kastrup
2008-01-07 15:40                                 ` CHENG Gao
2008-01-07 23:36                                   ` Stephen J. Turnbull
2008-01-08  4:31                                     ` CHENG Gao
2008-01-08  5:07                                     ` Mike Mattie
2008-01-08  2:56                                   ` Mike Mattie
2008-01-08  9:37                                     ` Andreas Schwab
2008-01-07  5:16                               ` Jason Earl
2008-01-07 17:16                                 ` Richard Stallman
2008-01-07 17:45                                   ` Gregory Collins
2008-01-08 19:07                                     ` Richard Stallman
2008-01-08 19:50                                       ` Miles Bader
2008-01-13 20:06                                       ` Giorgos Keramidas
2008-01-14 11:28                                         ` Richard Stallman
2008-01-07 21:28                                   ` Jason Earl
2008-01-07  8:15                               ` David Kastrup
2008-01-07  8:33                                 ` Giorgos Keramidas
2008-01-07 23:50                                   ` Stephen J. Turnbull
2008-01-05 21:11                       ` Stephen J. Turnbull [this message]
2008-01-06 18:08                         ` Richard Stallman
2008-01-07  9:35                       ` Piet van Oostrum
2008-01-01 20:53         ` Nick Roberts
2008-01-02  9:53           ` Richard Stallman
2008-01-02 12:24             ` Eric S. Raymond
2008-01-02 15:19               ` David Kastrup
2008-01-02 20:35                 ` Karl Fogel
2008-01-02 19:19                   ` Andreas Schwab
2008-01-02 19:23                   ` Romain Francoise
2008-01-03  1:18                 ` Giorgos Keramidas
2008-01-03  7:55                   ` David Kastrup
2008-01-02  9:53         ` Richard Stallman
2008-01-02 10:03           ` David Kastrup
2008-01-02 10:05           ` Tassilo Horn
2008-01-02 11:31             ` Alan Mackenzie
2008-01-02 11:28               ` Tassilo Horn
2008-01-02 14:26           ` Óscar Fuentes
2008-01-02 19:48             ` Karl Fogel
2008-01-02 18:43               ` Andreas Schwab
2008-01-02 22:10               ` Alfred M. Szmidt
2008-01-03  2:58                 ` Karl Fogel
2008-01-03  1:21               ` Giorgos Keramidas
2008-01-03  9:14                 ` Andreas Schwab
2008-01-03 10:57                   ` Giorgos Keramidas
2008-01-01 19:37       ` Eric S. Raymond
2008-01-01 21:46         ` Alan Mackenzie
2008-01-01 22:49           ` Eric S. Raymond
2008-01-02 17:05             ` Mark A. Hershberger
2008-01-03  9:49             ` Richard Stallman
2008-01-02  8:35           ` Tassilo Horn
2008-01-02  5:54         ` John S. Yates, Jr.
2008-01-02 11:52           ` Eric S. Raymond
2008-01-03  9:50           ` Richard Stallman
2008-01-02  8:51         ` tomas
2008-01-02  9:53         ` Richard Stallman
2008-01-01 22:01       ` Romain Francoise
2007-12-31 13:11 ` Alan Mackenzie
2007-12-31 13:24   ` Miles Bader
2007-12-31 13:44     ` Alan Mackenzie
2007-12-31 15:45       ` Eric S. Raymond
2007-12-31 15:14     ` Juanma Barranquero
2007-12-31 15:31     ` Eric S. Raymond
2007-12-31 15:25   ` Eric S. Raymond
2008-01-01 20:34     ` Alan Mackenzie
2008-01-01 20:57       ` Eric S. Raymond
2008-01-02  9:53         ` Richard Stallman
2008-01-02 12:29           ` Eric S. Raymond
2008-01-02 12:59             ` dhruva
2008-01-02 13:11               ` Miles Bader
2008-01-02 13:17               ` Tassilo Horn
2008-01-02 13:49                 ` David Kastrup
2008-01-04  5:28                   ` Richard Stallman
2008-01-04  7:03                     ` John S. Yates, Jr.
2008-01-05 14:29                       ` Richard Stallman
2008-01-02 13:48               ` Werner LEMBERG
2008-01-02 13:56                 ` dhruva
2008-01-02 14:55                 ` Eric S. Raymond
2008-01-03  1:13                 ` Giorgos Keramidas
2008-01-02 14:50               ` Eric S. Raymond
2008-01-19 17:45 ` Jari Aalto
2008-01-20  2:59   ` dhruva
2008-01-20  5:10     ` Miles Bader
2008-01-20  5:36       ` Juanma Barranquero
2008-01-20  6:03         ` Miles Bader
2008-01-20 19:28           ` Eli Zaretskii
2008-01-20 20:42             ` Juanma Barranquero
2008-01-20 20:17           ` Juanma Barranquero
2008-01-20 20:28           ` Juanma Barranquero
2008-01-21  2:11             ` Miles Bader
2008-01-21  2:38               ` Karl Fogel
2008-01-21  2:49                 ` Miles Bader
2008-01-21  3:06                   ` Nick Roberts
2008-01-21  3:17                     ` Miles Bader
2008-01-21  3:26                     ` Stephen J. Turnbull
2008-01-21  3:16                   ` Glenn Morris
2008-01-21  4:11                     ` Nick Roberts
2008-01-21 10:00                     ` Thien-Thi Nguyen
2008-01-21  2:41               ` Juanma Barranquero
2008-01-21  3:01               ` Nick Roberts
2008-01-21  9:07   ` Richard Stallman
2008-01-21 15:51     ` Dan Nicolaescu
2008-01-21 17:37       ` Miles Bader
2008-01-21 17:53         ` Tom Tromey
2008-01-21 20:06           ` Stefan Monnier
2008-01-21 19:50             ` Tom Tromey
2008-01-22  0:33         ` Dan Nicolaescu
2008-01-24 14:43     ` Mark A. Hershberger
2008-01-24 15:00       ` Juanma Barranquero
2008-01-24 15:34         ` dhruva
2008-01-24 19:52           ` Stephen J. Turnbull
2008-01-25  0:43             ` Juanma Barranquero
2008-01-25 22:47             ` Richard Stallman
2008-01-25 23:13               ` Alfred M. Szmidt
2008-01-25 23:36                 ` Miles Bader
2008-01-27  0:45                   ` Richard Stallman
2008-01-27 17:39                     ` David Kastrup
2008-01-27 20:06                       ` Nick Roberts
2008-01-27 22:21                         ` David Kastrup
2008-01-27 23:58                         ` Johan Bockgård
2008-01-28  7:17                         ` Richard Stallman
2008-01-28  7:17                         ` Richard Stallman
2008-01-28  7:57                           ` GNU Project [was: Re: What a modern collaboration toolkit looks like] Nick Roberts
2008-01-28 21:32                             ` Richard Stallman
2008-01-28  7:18                       ` What a modern collaboration toolkit looks like Richard Stallman
2008-01-28  7:30                         ` David Kastrup
2008-01-28  9:18                           ` Stephen J. Turnbull
2008-01-28 21:32                           ` Richard Stallman
2008-01-26  1:23                 ` Thomas Lord
  -- strict thread matches above, loose matches on Subject: below --
2008-01-01  3:09 Nick Roberts
2008-01-01  6:24 ` Eric S. Raymond
2008-01-03 20:32 Trey Jackson
2008-01-04  9:46 ` dhruva
2008-01-05 13:36   ` Eli Zaretskii
2008-01-05 15:04     ` dhruva
2008-01-05 15:13       ` Eli Zaretskii
2008-01-06  1:17     ` Miles Bader
2008-01-04 13:43 ` Gianluca Della Vedova
2008-01-05 14:30 ` Richard Stallman
2008-01-06  5:03   ` Trey Jackson
2008-01-06  6:58     ` Nick Roberts
2008-01-07  4:57       ` Trey Jackson
2008-01-07  5:54         ` Nick Roberts
2008-01-06 18:09     ` Richard Stallman
2008-01-07  5:16       ` Trey Jackson
2008-01-07  6:15         ` Nick Roberts
2008-01-07 15:41         ` Stefan Monnier
2008-01-29  5:43 Werner LEMBERG

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877iio0yhh.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=esr@thyrsus.com \
    --cc=keramida@ceid.upatras.gr \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).