emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Adam Spiers <orgmode@adamspiers.org>
To: Carsten Dominik <dominik@science.uva.nl>
Cc: org-mode mailing list <emacs-orgmode@gnu.org>
Subject: Re: Org-mode development (was: Vacation, and 5.04)
Date: Sat, 1 Sep 2007 10:34:06 +0100	[thread overview]
Message-ID: <20070901093406.GA21545@atlantic.linksys.moosehall> (raw)
In-Reply-To: <bad43245b0ca498637388a9e00723b0f@science.uva.nl>

Carsten Dominik (dominik@science.uva.nl) wrote:
> On Jul 20, 2007, at 17:28, Adam Spiers wrote:
> >This might be a pertinent moment to bring up the topic of revision
> >control ... or actually it might be a particularly bad moment,
> >considering that the maintainer is about to vanish for 3 weeks!  But I
> >wanted to propose the idea of adopting a distributed revision control
> >system.  This would allow any individual coder to (amongst other
> >benefits) easily create short-term feature branches or bugfix branches
> >off Carsten's releases, share them publically with others for testing,
> >and enable very low-cost merging back into the mainstream.  To use the
> >current situation as one example, this would mean that Carsten can
> >relax happily on the beach (or wherever he is ;-) knowing that his
> >absence is guaranteed *not* to hold any progress back, even if he
> >decided to stay there for several months ;-)
> 
> Now we are talking..... :-)

... and then we stopped - sorry for the long delay, I spent two weeks
on a beach myself and it has taken me rather too long to address the
resulting backlog :-)

> >In case anyone's unfamiliar with the benefits of distributed revision
> >control (vs. centralized, e.g. CVS/svn), enjoy this great talk by
> >Linus Torvalds at google:
> >
> >  http://www.youtube.com/watch?v=4XpnKHJAok8
> >
> >It claims to be about git, but actually it's more about distributed
> >revision control systems in general - everything he says applies to
> >similar systems such as mercurial.
> 
> Thanks for this enjoyable link - lots of fun to watch Linus like this.

Here's an interesting follow-on - a reply from Linus to one of the KDE
maintainers who was still not convinced that a decentralized model is
always a benefit:

  http://lwn.net/Articles/246381/

> I'd like to make some comments about the development model or Org-mode
> and put it up here for discussion.
> 
> - Org-mode is part of Emacs - this means that I can only accept patches
>   from people who have signed the appropriate papers with the FSF.  You
>   might have noticed in the past that I usually don't simply apply a
>   patch.  I change it considerably or re-implement the feature, to make
>   sure that we will not run into copyright issues.  If you want to
>   contribute to org-mode and make life easy for me, write to
>   assign@gnu.org and ask for the paperwork to become a contributor to
>   org-mode in Emacs, and let me know what you have done so so that I
>   can start to use your patches directly.

I'd be happy to do this to save you work - though that is of course
making the big assumption that my patches are usable in their
unaltered form ;-)

> - The second reason why I often don't apply patches exactly as submitted
>   is because I see my role in filtering and shaping features so that
>   they fit exactly into the feel and look of Org-mode as I see it.
>   I don't want it to loose focus.

We are extremely lucky to have such a diligent and effective maintainer!

>   You might see this as a good thing, but you could also see this
>   as slowing down development.

If that's true, it *is* a good thing because otherwise I could hardly
keep up with the rapid pace :-)

> - I have never used git or a similar distributed tool - so I would
>   have to learn how to use them.

I can't speak for git, but one of the beautiful things about mercurial
is its simplicity; as a result, the learning curve is extremely
shallow:

  http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart

There are a load of excellent docs too, e.g. 

  http://www.selenic.com/mercurial/wiki/index.cgi
  http://hgbook.red-bean.com/hgbook.html

There's not much more to it for basic usage.  Pushing/pulling can be
done with remote repositories, e.g. via ssh or HTTP or even mail.
Releases can be symbolically tagged.  Merges are made painless.  A
built-in standalone web server lets anyone publish their repositories
instantly via 'hg serve', e.g. 

  http://www.adamspiers.org/hg/

A nice visual tool is bundled to help keep on top of even complicated
branching situations:

  http://lwn.net/Articles/140350/

I would argue that even when still sticking to a centralized
development model, it is still worth switching away from CVS or
similar:

  - Bidirectional syncing with CVS and other SCMs well supported
  - Atomic changesets
  - Robust repository format
     - including native cryptographic integrity checks
  - Renames done right
  - Symlink support
  - Branching and merging becomes painless
     - enables others even if you don't use it personally

I could go on but it's time to shut up now I think ;-)

      parent reply	other threads:[~2007-09-01  9:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-20 13:41 Vacation, and 5.04 Carsten Dominik
2007-07-20 14:19 ` Rick Moynihan
2007-07-20 14:40 ` Georg C. F. Greve
2007-07-20 15:28 ` Adam Spiers
2007-08-16  6:57   ` Org-mode development (was: Vacation, and 5.04) Carsten Dominik
2007-08-16  8:42     ` Christian Egli
2007-09-01  9:34     ` Adam Spiers [this message]

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.orgmode.org/

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

  git send-email \
    --in-reply-to=20070901093406.GA21545@atlantic.linksys.moosehall \
    --to=orgmode@adamspiers.org \
    --cc=dominik@science.uva.nl \
    --cc=emacs-orgmode@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/org-mode.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).