unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Disabling VC:  Documentation seems inadequate.
@ 2003-12-03 20:45 Alan Mackenzie
  2003-12-03 20:59 ` Stefan Monnier
  2003-12-03 21:02 ` Andre Spiegel
  0 siblings, 2 replies; 6+ messages in thread
From: Alan Mackenzie @ 2003-12-03 20:45 UTC (permalink / raw)


[-- Attachment #1: Type: TEXT/PLAIN, Size: 642 bytes --]

The VC (version control) bit of Emacs manual (in files.texi) doesn't
appear to say how to disable VC.  Although it can be figured out, it
takes a lot more effort than I think it should.  Many thanks to Glenn
Morris who helped me figure it out on gnu.emacs.help.

I think files.texi should be amended so that it explicitly states how to
disable VC.  The attached patch does just this.

As a matter of interest, is there any good reason why VC isn't explicitly
coded as a minor mode (with something like `global-vc-mode' analogous to
`global-font-lock-mode'), or is it just the way things are?

-- 
Alan Mackenzie (Munich, Germany)
acm@muc.de


[-- Attachment #2: ChangeLog entry --]
[-- Type: TEXT/PLAIN, Size: 98 bytes --]

2003-12-03  Alan Mackenzie  <acm@muc.de>

	* files.texi: State explicitly how to disable VC.


[-- Attachment #3: files.1.85.texi.diff --]
[-- Type: TEXT/PLAIN, Size: 1528 bytes --]

*** files.1.85.texi	Wed Dec  3 17:06:03 2003
--- files.1.85.acm.texi	Wed Dec  3 20:09:58 2003
***************
*** 1124,1129 ****
--- 1125,1134 ----
  replace SCCS, known as CSSC; if you are using SCCS and don't want to
  make the incompatible change to RCS or CVS, you can switch to CSSC.
  
+   VC is enabled by default in Emacs.  To disable it, set the
+ customizable variable @code{vc-handled-backends} to @code{nil}
+ (@pxref{Customizing VC}).
+ 
  @menu
  * Introduction to VC::  How version control works in general.
  * VC Mode Line::        How the mode line shows version control status.
***************
*** 2494,2500 ****
  control systems VC should handle.  The default value is @code{(RCS CVS
  SCCS)}, so it contains all three version systems that are currently
  supported.  If you want VC to ignore one or more of these systems,
! exclude its name from the list.
  
  The order of systems in the list is significant: when you visit a file
  registered in more than one system (@pxref{Local Version Control}),
--- 2499,2506 ----
  control systems VC should handle.  The default value is @code{(RCS CVS
  SCCS)}, so it contains all three version systems that are currently
  supported.  If you want VC to ignore one or more of these systems,
! exclude its name from the list.  To disable VC entirely, set this
! variable to @code{nil}.
  
  The order of systems in the list is significant: when you visit a file
  registered in more than one system (@pxref{Local Version Control}),

[-- Attachment #4: Type: text/plain, Size: 141 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Disabling VC:  Documentation seems inadequate.
  2003-12-03 20:45 Disabling VC: Documentation seems inadequate Alan Mackenzie
@ 2003-12-03 20:59 ` Stefan Monnier
  2003-12-03 21:02 ` Andre Spiegel
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2003-12-03 20:59 UTC (permalink / raw)
  Cc: emacs-devel

> The VC (version control) bit of Emacs manual (in files.texi) doesn't
> appear to say how to disable VC.  Although it can be figured out, it
> takes a lot more effort than I think it should.  Many thanks to Glenn
> Morris who helped me figure it out on gnu.emacs.help.

I think it's even more important (although one does not prevent the other)
to make sure that users don't ever need to disable VC.

In other words, if VC gets in the way, it's a bug that should be reported
as such.


        Stefan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Disabling VC:  Documentation seems inadequate.
  2003-12-03 20:45 Disabling VC: Documentation seems inadequate Alan Mackenzie
  2003-12-03 20:59 ` Stefan Monnier
@ 2003-12-03 21:02 ` Andre Spiegel
  2003-12-04 12:46   ` Alan Mackenzie
  1 sibling, 1 reply; 6+ messages in thread
From: Andre Spiegel @ 2003-12-03 21:02 UTC (permalink / raw)
  Cc: emacs-devel

On Wed, 2003-12-03 at 21:45, Alan Mackenzie wrote:

> I think files.texi should be amended so that it explicitly states how to
> disable VC.  The attached patch does just this.

Sorry for making it less clear than it should have been.  Thanks for the
patch, I'll install it.

> As a matter of interest, is there any good reason why VC isn't explicitly
> coded as a minor mode (with something like `global-vc-mode' analogous to
> `global-font-lock-mode'), or is it just the way things are?

The reason was probably that in the early days, with RCS and its strict
locking, the intention was that you should not be able to bypass VC at
all, so that VC could enforce the locking policy of RCS.  This has
changed a lot since then, mostly because locking is not used all that
much anymore, and people, including myself, have learned that Emacs
should not be overly strict in enforcing any kind of policy for the
users.

Nowadays, it is really just the way things are :-)

Just out of curiosity, what was the reason you wanted to disable VC
completely?  Perhaps there was an annoyance or a misunderstanding that
should be considered.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Disabling VC:  Documentation seems inadequate.
  2003-12-03 21:02 ` Andre Spiegel
@ 2003-12-04 12:46   ` Alan Mackenzie
  2003-12-04 16:00     ` Stefan Monnier
  2003-12-05 17:07     ` Andre Spiegel
  0 siblings, 2 replies; 6+ messages in thread
From: Alan Mackenzie @ 2003-12-04 12:46 UTC (permalink / raw)
  Cc: Andre Spiegel



On Wed, 3 Dec 2003, Andre Spiegel wrote:

>On Wed, 2003-12-03 at 21:45, Alan Mackenzie wrote:

>> I think files.texi should be amended so that it explicitly states how
>> to disable VC.  The attached patch does just this.

>Sorry for making it less clear than it should have been.  Thanks for the
>patch, I'll install it.

Thanks!

[ .... ]

>Just out of curiosity, what was the reason you wanted to disable VC
>completely?  Perhaps there was an annoyance or a misunderstanding that
>should be considered.

For me, editing files and version control are distinct activities.  I do
all my CVSing from the command line, and prefer it this way.  I feel more
in control.

I get very emotional about this topic, and I'm not sure why.  I think
I've got hangups from some very restrictive commercial VC system I had to
use a long time ago.

Several times in the past I've done C-x C-q to make a buffer read only
(simply to stop me changing it by accident) and found to my dismay that
the file got checked in, or got error messages "can't access repository".
That such an innocent operation, toggling read-onliness, could trigger
such a drastic action (checking a file in/out) took me aback, somewhat.

Sometimes (at work rather than at play) I've just wanted, say, to
reindent somebody else's messy code temporarily (to be able to understand
it), typed C-x C-q to make the buffer writeable, and been hit with the
file being checked out.

I mentioned this in summer of 2002, and you took on the task of polling
users on the issue of what C-x C-q should do (thanks!).  It turned out
that my feeling wasn't that widespread - it was my problem.  So, of
course, I bound C-x C-q to `toggle-read-only' in my own .emacs.

But even so, in the last few weeks:
(i) Sometimes my files (checked out from SourceForge under CVS control),
get loaded into RO buffers, despite the files being writeable.  I haven't
investigated why;
(ii) Sometimes Emacs has signalled an error on C-x C-s.  This occurred on
Emacs 21.1, but seems to have been fixed for 21.3.  It happened after I'd
edited a buffer, then renamed the file to a "backup" name (e.g. mv
cc-awk.el cc-awk.191103.el) before doing C-x C-s; (I used mv rather than
cp so as to preserve the file's timestamp).

Now this is all probably "pilot error", but it's hassle which appears not
to bring me any benefit.

The basic notions about VC don't match the way I hack software  (I think
I'm talking more about VC systems which use locks rather than CVS).  I
often want to change a file _without_ checking it out - to play with it,
to see what it looks like with comments added, to test an alternative
algorithm, that sort of thing, but without impeding colleagues or leaving
the (public copy of the) file in un unstable state.  Having decided that
a change is good, THEN is the time to check the file out, make the
changes permanent, and check it in.  Emacs's VC tries to prevent me doing
things this way (if I've understood it properly).  Sometimes I want to
set a _file_ RO without it getting checked in.

In short, the copies of the source I have on my hard disk should be MY
personal copy, to play around with as I wish, unless I _explicitly_
request an update from the repository or commit changes to it.  I have no
problem with other people wanting Emacs's VC to steer them through the
processes, though.

A particularly bad thing once happened to me on a proprietary VC system.
I had made some experimental changes (after being "forced" to check out
the file first).  A colleague needed to change that file in a hurry, so I
clicked the "undo lock" button in a dialog box to give him the file.  To
my anger, that fascist VC system wiped out my changes (without asking me
first) in the process of returning the lock.

Now it's quite likely that my personal process for hacking code is
somewhat unusual, but surely Emacs exists for unusual people.  ;-)  Emacs
VC appears to hinder me personally without offering me any help.  This is
why I want to disable it.

-- 
Alan Mackenzie (Munich, Germany)
acm@muc.de

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Disabling VC:  Documentation seems inadequate.
  2003-12-04 12:46   ` Alan Mackenzie
@ 2003-12-04 16:00     ` Stefan Monnier
  2003-12-05 17:07     ` Andre Spiegel
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2003-12-04 16:00 UTC (permalink / raw)
  Cc: Andre Spiegel, emacs-devel

> I mentioned this in summer of 2002, and you took on the task of polling
> users on the issue of what C-x C-q should do (thanks!).  It turned out
> that my feeling wasn't that widespread - it was my problem.  So, of
> course, I bound C-x C-q to `toggle-read-only' in my own .emacs.

Your recollection is incorrect: In Emacs-CVS C-x C-q is now bound to
toggle-read-only.

> (i) Sometimes my files (checked out from SourceForge under CVS control),
> get loaded into RO buffers, despite the files being writeable.  I haven't
> investigated why;
> (ii) Sometimes Emacs has signalled an error on C-x C-s.  This occurred on
> Emacs 21.1, but seems to have been fixed for 21.3.  It happened after I'd
> edited a buffer, then renamed the file to a "backup" name (e.g. mv
> cc-awk.el cc-awk.191103.el) before doing C-x C-s; (I used mv rather than
> cp so as to preserve the file's timestamp).

> Now this is all probably "pilot error", but it's hassle which appears not
> to bring me any benefit.

If it's related to VC and you were not using VC, then it's definitely not
a pilot error but a bug in VC (or maybe a feature, but in that case maybe
we should reconsider its classification).
So please report those problems so we can fix them.


        Stefan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Disabling VC:  Documentation seems inadequate.
  2003-12-04 12:46   ` Alan Mackenzie
  2003-12-04 16:00     ` Stefan Monnier
@ 2003-12-05 17:07     ` Andre Spiegel
  1 sibling, 0 replies; 6+ messages in thread
From: Andre Spiegel @ 2003-12-05 17:07 UTC (permalink / raw)
  Cc: emacs-devel

On Thu, 2003-12-04 at 13:46, Alan Mackenzie wrote:

> I mentioned this in summer of 2002, and you took on the task of polling
> users on the issue of what C-x C-q should do (thanks!).  It turned out
> that my feeling wasn't that widespread - it was my problem.  So, of
> course, I bound C-x C-q to `toggle-read-only' in my own .emacs.

The results were rather inconclusive -- there were strong advocates of
either position, both with very good reasons.  Based on this, RMS
decided salomonically that we should remove the version control meaning
of C-x C-q by default (users can rebind the key individually).  So this
concerns of yours has really been fully addressed (as Stefan already
pointed out).  The change is in Emacs CVS.

> (i) Sometimes my files (checked out from SourceForge under CVS control),
> get loaded into RO buffers, despite the files being writeable.  I haven't
> investigated why;
> (ii) Sometimes Emacs has signalled an error on C-x C-s.  This occurred on
> Emacs 21.1, but seems to have been fixed for 21.3.  It happened after I'd
> edited a buffer, then renamed the file to a "backup" name (e.g. mv
> cc-awk.el cc-awk.191103.el) before doing C-x C-s; (I used mv rather than
> cp so as to preserve the file's timestamp).

That would definitely be bugs if it were reproducible.  Please don't
hesitate to report them as such if you can find a reproducible sequence
of actions that triggers that behaviour.

> The basic notions about VC don't match the way I hack software  (I think
> I'm talking more about VC systems which use locks rather than CVS).  I
> often want to change a file _without_ checking it out - to play with it,
> to see what it looks like with comments added, to test an alternative
> algorithm, that sort of thing, but without impeding colleagues or leaving
> the (public copy of the) file in un unstable state.  Having decided that
> a change is good, THEN is the time to check the file out, make the
> changes permanent, and check it in.  Emacs's VC tries to prevent me doing
> things this way (if I've understood it properly).  Sometimes I want to
> set a _file_ RO without it getting checked in.

That's a very reasonable way to work and it is the natural approach for
"modern" systems like CVS (along with the notion that locking really
isn't necessary if developers have their own private workspace).  Also,
VC is no longer that intrusive even for systems with locking, believe me
:-).

Just the other day, I was consulting for a software development team at
a bank and introduced them to RCS (they were hesitant to use CVS because
they thought that they must absolutely have locks).  But when they
tried, it took them 15 seconds to override RCS' locking mechanism and
bring the file permissions into an inconsistent state and cause really
unpleasant effects.  After that, they decided that maybe CVS was the
better way to go, after all :-)

Hoping that you might someday turn on VC again :-)

Andre

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-12-05 17:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-03 20:45 Disabling VC: Documentation seems inadequate Alan Mackenzie
2003-12-03 20:59 ` Stefan Monnier
2003-12-03 21:02 ` Andre Spiegel
2003-12-04 12:46   ` Alan Mackenzie
2003-12-04 16:00     ` Stefan Monnier
2003-12-05 17:07     ` Andre Spiegel

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).