Today's the day! After months of deliberations, Emacs will now use git as the primary version control system. Previously, bzr was the primary VCS with a git mirror. Eric Raymond (a self-proclaimed "topic expert in version-control systems and the surrounding tools", presumably due to his work on reposurgeon, cvs-fast-export, and, of course, his own version control system) lead the effort from start to finish. In theory, using a more popular VCS will help attract new developers.
Related Stories
Eric Raymond has thrown his hat into the ring of version control systems. "I wrote a version-control system today. Yes, an entire VCS. Took me 14 hours.
Yeah, you’re looking at me like I’m crazy. “Why,” you ask, quite reasonably, “would you want to do a thing like that? We’re not short of powerful VCSes these days.
That is true. But I got to thinking, early this morning, about the fact that I haven’t been able to settle on just one VCS. I use git for most things, but there’s a use case git doesn’t cover. I have some document directories in which I have piles of things like HOWTOs which have separate histories from each other. Changes in them are not correlated, and I want to be able to move them around because I sometimes do that to reorganize them."
Then, the idea that made it inevitable. “I bet.” I thought, “I could write this thing as a Python wrapper around RCS tools. Use them for delta storage but hide all the ugly parts.” Thus, SRC. Simple Revision Control, v0.1.
So, what are you writing this weekend?
(Score: 3, Funny) by wonkey_monkey on Wednesday November 12 2014, @10:33AM
Bye Bye bzr - Emacs Goes git
I'll take "headlines most people would dismiss as being bashed out by a chimpanzee" for $100.
systemd is Roko's Basilisk
(Score: 2) by Bot on Wednesday November 12 2014, @11:02AM
I'll take "Submissions with a better headline that aren't there, because of being eaten by dogs" instead.
Account abandoned.
(Score: 4, Funny) by Marand on Wednesday November 12 2014, @11:27AM
In theory, using a more popular VCS will help attract new developers.
Not likely. Most people stick to working on applications because OS development is hard.
(Score: 2) by dublet on Wednesday November 12 2014, @12:38PM
Maybe they'll finally put a decent text editor like Vim into it?
"If anyone needs me, I'm in the angry dome. [dublet.org]"
(Score: 3, Informative) by Arik on Wednesday November 12 2014, @03:26PM
Actually they already have three of them, and they are hardly new.
www.emacswiki.org/emacs/VimMode
www.emacswiki.org/emacs/ViperMode
www.emacswiki.org/Evil
Take your pick!
(vimpulse and vim-mode are older, now deprecated versions of the same idea - this is hardly new)
If laughter is the best medicine, who are the best doctors?
(Score: 2) by davester666 on Thursday November 13 2014, @06:39AM
emacs is not an operating system.
and yes, a crappy vcs is what has been holding back emacs all these years from world domination.
(Score: 0) by Anonymous Coward on Thursday November 13 2014, @04:25PM
emacs is indeed not an OS (yes I know about the joke wooshing over parent), yet it is the most successful "inner platform" antipattern implementation ever.
(Score: 0) by Anonymous Coward on Wednesday November 12 2014, @12:59PM
The differences between git, bzr and hg are trivial.
Git, when used in a centralized way with GitHub or some other master origin like most projects do, isn't much different than svn, or even cvs.
So why does it even matter which one they're using? A good developer will know all of them.
This is like people thinking it's special that screws with Robertson heads were used instead of screws with slot heads, when really it is irrelevant.
(Score: 3, Informative) by lajos on Wednesday November 12 2014, @04:21PM
It matters because bzr plain and simple sucks for large projects.
In distributed revision control branching has to be fast and space efficient. To branch in bzr you have to copy the whole source tree. With a project the size of emacs this would get old pretty quick. It might work on a couple hundred lines of code, but it's unusable for a large project.
In git, you get cheap branching. Super fast and only the differences are stored. This is a no brainer decision, I'm actually amazed anyone would pick bzr for such a large project.
You should also try driving a couple thousand drywall screws, you'll find out by screw #11 why slotted head screws suck monkey balls. Trust me, not irrelevant either.
(Score: 1) by Anonymous Coward on Wednesday November 12 2014, @05:14PM
> The differences between git, bzr and hg are trivial.
between hg and git I'll go along with that statement. But bzr is SLOOOOW and resource hungry.
> isn't much different than svn, or even cvs.
As someone who has to work daily with SVN and weekly with CVS I beg to differ. If you really think this I'd suggest you brush up on your knowledge of git/hg because they both make a lot of handy stuff available which is very hard or plain impossibel to do in SVN/CVS. Merging while keeping your histiry for example. Or bisection searches for when a regression happened without going over the net. Or browsing the history of your project locally without network access (which is a *lot* faster even if you have network access available) The default svn client is also very slow.
SVN still has its use (media repositories mainly), but anybody suggesting CVS is as good as git please don't ever manage a software project, hmmkay?
(Score: 1) by steveha on Wednesday November 12 2014, @09:21PM
why does it even matter which one they're using?
The important thing here is to get the version control history out of obsolete and muddled formats and into a single, clean format.
http://esr.ibiblio.org/?p=5634 [ibiblio.org]
For IMHO good reasons, ESR has chosen to convert to Git format.
[...]
[...]
http://esr.ibiblio.org/?p=6476#more-6476 [ibiblio.org]
So why does it even matter which one they're using? A good developer will know all of them.
When you are trying to attract people to donate their time, to contribute code to your project, it is a very good idea to get rid of any roadblocks that would make it more difficult to contribute to your project. For good or ill, Git is the most popular modern revision control system; people know it, tools already know how to interact with it. It's a good choice.
(Score: 2) by Lagg on Wednesday November 12 2014, @04:01PM
I really get sick of this "if we use a different VCS we'll get more guys!" shit. If that was any kind of factor every open source project ever would have flourished when SVN happened. It's really just an excuse for them to silently back down on their idiotic choice of VCS because of politics rather than technical superiority. Richard has outright said that's why bzr was chosen (being a GNU project). The real reason they're moving to git is because bzr is slow. Really. Really. Horrifyingly. Slow. It also eats up unreasonable amounts of memory. I once waited half a day to clone emacs (at least, gave up and pkill'd it right before an OOM) while the git mirror clone took about an hour or two. With fractional memory use alongside it. Hilariously, I was cloning emacs to show someone just how little care is shown to code quality in GNU if it doesn't further someone's politics.
Even though Eric is a great guy unlike rms it really starts to eat at me when they start with this crap. It makes us all look bad when they say that they're moving VCSs just because they want a "younger generation" while implying that the current VCS is just fine and it's everyone else's fault for not realizing that.
http://lagg.me [lagg.me] 🗿
(Score: 0) by Anonymous Coward on Wednesday November 12 2014, @04:32PM
Huh, I thought it would attract new talent because if bzt is as bad as you say, no one would want to use it. Thus people wouldn't want to submit to the project.
Perhaps "not repel new talent" is a better way to describe it?
(Score: 2) by Lagg on Wednesday November 12 2014, @06:28PM
That's certainly a fair point. Though I think emacs has more to worry about in terms of repelling new contributors in that regard with rms for example telling people that he always wanted it to be a WYSIWYG word processor and that someone should do that.
http://lagg.me [lagg.me] 🗿
(Score: 0) by Anonymous Coward on Thursday November 13 2014, @02:41AM
That you think somebody you don't like (who is famous and well regarded in the community in question) proposing a new mode would drive away contributions is exceedingly laughable. Talk about derping-up all over yourself. Next you'll think that having an image editing mode will drive away contributors. With such an absurd idea, you probably don't even realize that there is a high quality tetris clone mode that already had networked high scores in the 90s. A new mode, even a sucky mode, would not discourage any users from contributing. In fact, anybody who would be discouraged by the existence of optional stuff they're not going to use isn't even going to be a user, much less a contributor.
You hating RMS also does not make RMS important to modern emacs development other than as a mascot. And be advised, St. Ignucius has a strong following.
(Score: 1, Funny) by Anonymous Coward on Wednesday November 12 2014, @04:15PM
I don't normally pick on spelling, and here I'm not even particularly addressing the OP, but since I haven't had my coffee yet and am therefore grouchy, I'm going to be THAT guy, because I read this error daily. I hope you will forgive me. Past tense of "to lead" is "led." The homophone "lead" refers to the metal.
“Times are bad. Children no longer obey their parents, and everyone is writing a version control system.” - Cicero
(Score: 2) by aristarchus on Wednesday November 12 2014, @06:50PM
Thanks for being "that guy" on the homophones! Not like we don't have enough homophonophobics around here already. But in this case, it may be that the usage is either ironic, or strictly correct? ESR, lead (as in metal), fall of the Roman empire, new versioning system, insanity? Cicero was right!!!