[texworks] Please help!

Marcin Borkowski mbork at wmi.amu.edu.pl
Mon Apr 7 21:24:09 CEST 2014


Dnia 2014-04-07, o godz. 11:25:31
Duncan Murdoch <murdoch.duncan at gmail.com> napisał(a):

> Marcin mentioned Git and Mercurial.  I've never tried Mercurial; I
> tried Git, and really hated it.  Subversion has a simpler model: one
> central repository, every revision with a sequential revision number,
> instead of every checked out copy having its own subset of revisions
> from a not-so-well-defined cloud of revisions.  It's not easy to get 
> not-very-technical collaborators to use Subversion; Git was a
> complete failure in this.

Well, as I've written: Git is for the brave.  It is not by any means
easy for a newcomer to the world of VCS.  Or a newcomer to the world of
DVCSs, for that matter.  OTOH, Mercurial is much more newbie-friendly
(I did test it on two people whose first contact with VCSs was Hg).

And, what you describe as the advantage of SVN, is in fact its main
weakness.  Nothing stops you from using a one-central-repo model in Hg
or Git (in fact, I do this much of the time), but you are not *forced*
to do that (like in SVN).  And the "cloud of revisions", as you call
it, is not-so-well-defined only if your workflow is
not-so-well-defined.  Also, why would SHAs be worse than revision
numbers?

Also, a *huge* disadvantage of SVN (and centralized VCSs in general) is
that you have to be online to commit (or have your central repo
locally, which may be not wise).  I often work while commuting, so SVN
is unacceptable for me.

I used RCS first (in one-person-only, small projects), then switched to
Hg (and loved it), then read a few books/tutorials on Git and fell in
love with it.  I guess that your problems with Git *may* come from the
fact that it is radically different (and better) than most other
systems (yes, including Mercurial).  (Disclaimer: I only read about SVN
and did not actually use it, but I did read some comparisons.)

One example: imagine the following use case.  You want to implement a
feature X, but there are two ways to do it: X1 and X2.  You try X1; it
sort of works, but then you try X2 and it's much better.  You want to
discard X1 altogether, and implement X2 as a single commit, even though
you actually implemented it in small steps.

Now in Git, you can use branches and rebasing to achieve exactly this.
Is anything like it possible in SVN?  (I don't know, I'm asking.)

On a final note: the thing that actually made me want to switch from Hg
to Git (even before I learned about its great features) was an
excellent front-end to Git, called Magit.  But it's an Emacs
application, so probably not very interesting to people on this list;).

> Duncan  Murdoch

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University




More information about the texworks mailing list