• Richard M. Stallman's avatar
    The RCS status is now found by reading the · 02d383eb
    Richard M. Stallman authored
    master file directly, instead of using rlog.  The properties
    retrieved from the master file are kept separately.  The two
    main properties, `vc-workfile-version' and `vc-locking-user',
    are inferred from those master file properties if the
    information cannot be found elsehow.  All properties are
    consistently cached now.
    
    (vc-master-info, vc-log-info, vc-fetch-properties): functions
    removed.  Their job is now done by `vc-fetch-master-properties'
    and `vc-insert-file'.
    
    (vc-fetch-master-properties):  new function, replaces
    vc-fetch-properties.  Retrieves all the properties that can be
    found in the master file, for all three backends (calls
    `cvs status' in the CVS case).
    
    (vc-insert-file):  new function.  Inserts an arbitrary file
    into the current buffer, optionally chunkwise, until a certain
    regexp shows up.
    
    (vc-parse-locks):  new function.  Translates SCCS or RCS lock
    lists, as found in the master files, into lisp lists.  Sets
    the new property `vc-master-locks'.
    
    (vc-locked-version):  property removed.  Was unnecessary, and
    only referenced in vc-hooks.el.
    (vc-head-version, vc-default-branch, vc-master-locks):
    new properties.
    
    (vc-top-version):  new name for the old property
    `vc-branch-version'.  ("top-version" is better because it
    might also be the RCS "head" if there is no default branch.)
    
    (vc-master-locking-user):  replaces `vc-true-locking-user'.
    Scans the new `vc-master-locks' property, yielding the master
    file's idea of who is locking the current workfile version.
    
    (vc-locking-user):  slightly changed to use the new properties.
    Changed the actual property value for an unlocked file to
    'none.  This is to distinguish it from an unknown locking
    state, which is represented by nil.  The function vc-locking-user
    returns nil if the property is 'none, to make it compatible with
    the rest of VC.
    
    (vc-consult-rcs-headers, vc-master-locking-user):  adpated to
    the new 'none-value of vc-locking-user.
    
    (vc-consult-rcs-headers): fixed bug that prevented
    (not vc-consult-headers) from working
    
    (vc-file-not-found-hook): set the default-directory of the new
    buffer before check-out. (Otherwise, setting vc-keep-workfiles
    to nil doesn't work.)
    
    (vc-occurences, vc-branch-p): functions removed (no longer needed)
    
    Reordered some defuns so they are grouped in a logical way.
    02d383eb
vc-hooks.el 32.8 KB