VCS

Jan. 22nd, 2009 06:08 pm
ewx: (geek)
[personal profile] ewx

(Or, what I did on my day off.)

Over the last few years there've been a lot of new version control systems and where previously you could pretty much rely on most free (and many proprietary) projects using CVS, now they could use any of CVS, Subversion, Git, Bazaar, Mercurial, darcs, Arch or other less well-known (or less cheap) systems.

While the newer systems have many great features, and while there are advantages to diversity, one of the downsides is that your “muscle memory” is constantly betrayed by it. If you've got used to typing bzr add then it's easy to mistakenly keep to that even when using some project that still uses CVS (for instance).

My idea to address this is a new command called vcs which has a uniform command interface and figures out what version control system you're currently using and issues the appropriate native commands for it.

VCS is my implementation of this idea. Instead of remembering which of cvs add, svn add, bzr add or whatever you need to type, you can just enter vcs add and let the computer work out the right command for you.

Version 0.1 is very limited and best understood as a base for development rather than a finished product. It only knows about CVS, Subversion and Bazaar (which is plainly not enough), and it's missing some important commands such as update and status.

Update: I just put up version 0.2, which adds a few more commands.

(no subject)

Date: 2009-01-22 06:51 pm (UTC)
From: [identity profile] geekette8.livejournal.com
Wot no VSS support?

[g,d&r]

(no subject)

Date: 2009-01-22 06:53 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
Joking aside, all contributions welcome, but contributions that I can reasonably test are more welcome... (In particular at some point I'll probably write a test suite, which of course will only be able to cover things I can actually install.)

(no subject)

Date: 2009-01-22 07:00 pm (UTC)
From: [identity profile] geekette8.livejournal.com
Given the major differences between VSS's modes of operation and CVS/Svn/Git etc, I can't see it being useful.

(no subject)

Date: 2009-01-22 07:54 pm (UTC)
ext_78: A picture of a plush animal. It looks a bit like a cross between a duck and a platypus. (Default)
From: [identity profile] pne.livejournal.com
Same here.

What's it supposed to do given, say, "vcs switch" or "vcs revert" if you're used to Svn but the repository uses CVS?

(no subject)

Date: 2009-01-22 08:09 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
There is no 'vcs switch' so I don't know what you mean by that. The whole point is that (e.g.) 'vcs revert' does exactly the same thing whatever system you're actually using.

(no subject)

Date: 2009-01-22 06:55 pm (UTC)
From: [identity profile] sidheag.livejournal.com
Emacs vc mode?

(no subject)

Date: 2009-01-22 07:34 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
That depends on the user doing their vc from inside Emacs, which isn't ideal even for Emacs users, never mind everyone else. It also likes to commit (or diff or whatever) one file at a time which isn't adequate with any of the modern systems.

(no subject)

Date: 2009-01-22 07:44 pm (UTC)
From: [identity profile] lethargic-man.livejournal.com
Well, I do, for CVS.

(My department has been moving from CVS to Subversion for a while; I've mostly been working from inside Eclipse, and using that as the interface to Subversion. I'm now working outside, and appear to have somehow partly broken the Emacs interface, which has left me a bit stuck.)

Anyhow, if you're intending to develop this and taking it forward, would you be interested in me pointing it out to the guys at work (via an internal blog)?

(no subject)

Date: 2009-01-22 08:08 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
Feel free to point people at it, yes.

(no subject)

Date: 2009-01-22 07:00 pm (UTC)
simont: A picture of me in 2016 (Default)
From: [personal profile] simont
I had a similar idea years ago – in a dream :-)

(no subject)

Date: 2009-01-22 07:36 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
It's possible that that posting spurred me in the direction of VCS (an idea that's been lurking around awaiting implementation for some time now).

(no subject)

Date: 2009-01-22 10:29 pm (UTC)
From: [identity profile] dave holland (from livejournal.com)
Have you seen "mr": http://kitenet.net/~joey/code/mr/

(no subject)

Date: 2009-02-02 09:09 am (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
Installed it but not got around to doing anything with it yet.

January 2026

S M T W T F S
    123
45678910
111213141516 17
18192021222324
25262728293031

Most Popular Tags

Expand Cut Tags

No cut tags