Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
f3b8feb4
Commit
f3b8feb4
authored
Jul 20, 2007
by
Stefan Monnier
Browse files
(vc-arch-diff): Fix last change.
parent
091525d5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
25 deletions
+32
-25
lisp/ChangeLog
lisp/ChangeLog
+3
-1
lisp/vc-arch.el
lisp/vc-arch.el
+29
-24
No files found.
lisp/ChangeLog
View file @
f3b8feb4
2007-07-20 Stefan Monnier <monnier@iro.umontreal.ca>
* vc-arch.el (vc-arch-diff): Fix last change.
* progmodes/compile.el (compilation-start): Remember the original
directory in a buffer-local compilation-directory.
(compile): Set the global value of compilation-directory.
...
...
@@ -100,7 +102,7 @@
* vc-hooks.el: Generalize stay-local-p to operate on lists of
files. Change two keybindings to point to new function names.
* vc
.
arch.el, vc-bzr.el, vc-cvs.el, vc-hg.el, vc-mcvs.el, vc-rcs.el,
* vc
-
arch.el, vc-bzr.el, vc-cvs.el, vc-hg.el, vc-mcvs.el, vc-rcs.el,
vc-sccs.el, vc-svn.el: These now implement the NewVC-fileset.
* vc.el: Adapted for NewVC-fileset, but no functional changes yet.
...
...
lisp/vc-arch.el
View file @
f3b8feb4
...
...
@@ -386,30 +386,35 @@ Return non-nil if FILE is unchanged."
(
defun
vc-arch-diff
(
files
&optional
oldvers
newvers
buffer
)
"Get a difference report using Arch between two versions of FILES."
;; FIXME: This implementation probably only works for singleton filesets
(
if
(
and
newvers
(
vc-up-to-date-p
file
)
(
equal
newvers
(
vc-workfile-version
(
car
files
))))
;; Newvers is the base revision and the current file is unchanged,
;; so we can diff with the current file.
(
setq
newvers
nil
))
(
if
newvers
(
error
"Diffing specific revisions not implemented"
)
(
let*
((
async
(
and
(
not
vc-disable-async-diff
)
(
fboundp
'start-process
)))
;; Run the command from the root dir.
(
default-directory
(
vc-arch-root
(
car
files
)))
(
status
(
vc-arch-command
(
or
buffer
"*vc-diff*"
)
(
if
async
'async
1
)
nil
"file-diffs"
;; Arch does not support the typical flags.
;; (vc-switches 'Arch 'diff)
(
mapcar
'file-relative-name
files
)
(
if
(
equal
oldvers
(
vc-workfile-version
(
car
files
)))
nil
oldvers
))))
(
if
async
1
status
))))
; async diff, pessimistic assumption.
;; FIXME: This implementation only works for singleton filesets. To make
;; it work for more cases, we have to either call `file-diffs' manually on
;; each and every `file' in the fileset, or use `changes --diffs' (and
;; variants) and maybe filter the output with `filterdiff' to only include
;; the files in which we're interested.
(
let
((
file
(
car
files
)))
(
if
(
and
newvers
(
vc-up-to-date-p
file
)
(
equal
newvers
(
vc-workfile-version
file
)))
;; Newvers is the base revision and the current file is unchanged,
;; so we can diff with the current file.
(
setq
newvers
nil
))
(
if
newvers
(
error
"Diffing specific revisions not implemented"
)
(
let*
((
async
(
and
(
not
vc-disable-async-diff
)
(
fboundp
'start-process
)))
;; Run the command from the root dir.
(
default-directory
(
vc-arch-root
file
))
(
status
(
vc-arch-command
(
or
buffer
"*vc-diff*"
)
(
if
async
'async
1
)
nil
"file-diffs"
;; Arch does not support the typical flags.
;; (vc-switches 'Arch 'diff)
(
file-relative-name
file
)
(
if
(
equal
oldvers
(
vc-workfile-version
file
))
nil
oldvers
))))
(
if
async
1
status
)))))
; async diff, pessimistic assumption.
(
defun
vc-arch-delete-file
(
file
)
(
vc-arch-command
nil
0
file
"rm"
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment