Mercurial > emacs
comparison lisp/ediff-vers.el @ 20206:f44ff2c52fac
new version
author | Michael Kifer <kifer@cs.stonybrook.edu> |
---|---|
date | Sat, 01 Nov 1997 01:46:51 +0000 |
parents | f90d40b0bff5 |
children | 4327dd36b71b |
comparison
equal
deleted
inserted
replaced
20205:cdaddfc03fe8 | 20206:f44ff2c52fac |
---|---|
144 (ediff-buffers rev1buf rev2buf startup-hooks 'ediff-revision))) | 144 (ediff-buffers rev1buf rev2buf startup-hooks 'ediff-revision))) |
145 | 145 |
146 | 146 |
147 ;;; Merge with Version Control | 147 ;;; Merge with Version Control |
148 | 148 |
149 (defun ediff-vc-merge-internal (rev1 rev2 ancestor-rev &optional startup-hooks) | 149 (defun ediff-vc-merge-internal (rev1 rev2 ancestor-rev |
150 &optional startup-hooks merge-buffer-file) | |
150 ;; If ANCESTOR-REV non-nil, merge with ancestor | 151 ;; If ANCESTOR-REV non-nil, merge with ancestor |
151 (let (buf1 buf2 ancestor-buf) | 152 (let (buf1 buf2 ancestor-buf) |
152 (save-excursion | 153 (save-excursion |
153 (vc-version-other-window rev1) | 154 (vc-version-other-window rev1) |
154 (setq buf1 (current-buffer))) | 155 (setq buf1 (current-buffer))) |
173 )) | 174 )) |
174 startup-hooks)) | 175 startup-hooks)) |
175 (if ancestor-rev | 176 (if ancestor-rev |
176 (ediff-merge-buffers-with-ancestor | 177 (ediff-merge-buffers-with-ancestor |
177 buf1 buf2 ancestor-buf | 178 buf1 buf2 ancestor-buf |
178 startup-hooks 'ediff-merge-revisions-with-ancestor) | 179 startup-hooks 'ediff-merge-revisions-with-ancestor merge-buffer-file) |
179 (ediff-merge-buffers buf1 buf2 startup-hooks 'ediff-merge-revisions)) | 180 (ediff-merge-buffers |
181 buf1 buf2 startup-hooks 'ediff-merge-revisions merge-buffer-file)) | |
180 )) | 182 )) |
181 | 183 |
182 (defun ediff-rcs-merge-internal (rev1 rev2 ancestor-rev | 184 (defun ediff-rcs-merge-internal (rev1 rev2 ancestor-rev |
183 &optional startup-hooks) | 185 &optional |
186 startup-hooks merge-buffer-file) | |
184 ;; If ANCESTOR-REV non-nil, merge with ancestor | 187 ;; If ANCESTOR-REV non-nil, merge with ancestor |
185 (let (buf1 buf2 ancestor-buf) | 188 (let (buf1 buf2 ancestor-buf) |
186 (setq buf1 (rcs-ediff-view-revision rev1) | 189 (setq buf1 (rcs-ediff-view-revision rev1) |
187 buf2 (if (string= rev2 "") | 190 buf2 (if (string= rev2 "") |
188 (current-buffer) | 191 (current-buffer) |
194 ;; rcs.el doesn't create temp version files, so we don't have to delete | 197 ;; rcs.el doesn't create temp version files, so we don't have to delete |
195 ;; anything in startup hooks to ediff-buffers | 198 ;; anything in startup hooks to ediff-buffers |
196 (if ancestor-rev | 199 (if ancestor-rev |
197 (ediff-merge-buffers-with-ancestor | 200 (ediff-merge-buffers-with-ancestor |
198 buf1 buf2 ancestor-buf | 201 buf1 buf2 ancestor-buf |
199 startup-hooks 'ediff-merge-revisions-with-ancestor) | 202 startup-hooks 'ediff-merge-revisions-with-ancestor merge-buffer-file) |
200 (ediff-merge-buffers buf1 buf2 startup-hooks 'ediff-merge-revisions)))) | 203 (ediff-merge-buffers |
204 buf1 buf2 startup-hooks 'ediff-merge-revisions merge-buffer-file)))) | |
201 | 205 |
202 (defun ediff-generic-sc-merge-internal (rev1 rev2 ancestor-rev | 206 (defun ediff-generic-sc-merge-internal (rev1 rev2 ancestor-rev |
203 &optional startup-hooks) | 207 &optional |
208 startup-hooks merge-buffer-file) | |
204 ;; If ANCESTOR-REV non-nil, merge with ancestor | 209 ;; If ANCESTOR-REV non-nil, merge with ancestor |
205 (let (buf1 buf2 ancestor-buf) | 210 (let (buf1 buf2 ancestor-buf) |
206 (save-excursion | 211 (save-excursion |
207 (if (string= rev1 "") | 212 (if (string= rev1 "") |
208 (setq rev1 (generic-sc-get-latest-rev))) | 213 (setq rev1 (generic-sc-get-latest-rev))) |
218 (sc-visit-previous-revision ancestor-rev)) | 223 (sc-visit-previous-revision ancestor-rev)) |
219 (setq ancestor-buf (current-buffer)))) | 224 (setq ancestor-buf (current-buffer)))) |
220 (if ancestor-rev | 225 (if ancestor-rev |
221 (ediff-merge-buffers-with-ancestor | 226 (ediff-merge-buffers-with-ancestor |
222 buf1 buf2 ancestor-buf | 227 buf1 buf2 ancestor-buf |
223 startup-hooks 'ediff-merge-revisions-with-ancestor) | 228 startup-hooks 'ediff-merge-revisions-with-ancestor merge-buffer-file) |
224 (ediff-merge-buffers buf1 buf2 startup-hooks 'ediff-merge-revisions)))) | 229 (ediff-merge-buffers |
230 buf1 buf2 startup-hooks 'ediff-merge-revisions merge-buffer-file)))) | |
225 | 231 |
226 | 232 |
227 ;; PCL-CVS.el support | 233 ;; PCL-CVS.el support |
228 | 234 |
229 (defun ediff-pcl-cvs-internal (rev1 rev2 &optional startup-hooks) | 235 (defun ediff-pcl-cvs-internal (rev1 rev2 &optional startup-hooks) |
252 | 258 |
253 ;; This function is the standard Ediff's interface to pcl-cvs. | 259 ;; This function is the standard Ediff's interface to pcl-cvs. |
254 ;; Works like with other interfaces: runs ediff on versions of the file in the | 260 ;; Works like with other interfaces: runs ediff on versions of the file in the |
255 ;; current buffer. | 261 ;; current buffer. |
256 (defun ediff-pcl-cvs-merge-internal (rev1 rev2 ancestor-rev | 262 (defun ediff-pcl-cvs-merge-internal (rev1 rev2 ancestor-rev |
257 &optional startup-hooks) | 263 &optional |
264 startup-hooks merge-buffer-file) | |
258 ;; Ediff-merge appropriate revisions of the selected file. | 265 ;; Ediff-merge appropriate revisions of the selected file. |
259 ;; If REV1 is "" then use the latest revision. | 266 ;; If REV1 is "" then use the latest revision. |
260 ;; If REV2 is "" then merge current buffer's file with REV1. | 267 ;; If REV2 is "" then merge current buffer's file with REV1. |
261 ;; If ANCESTOR-REV is "" then use current buffer's file as ancestor. | 268 ;; If ANCESTOR-REV is "" then use current buffer's file as ancestor. |
262 ;; If ANCESTOR-REV is nil, then merge without the ancestor. | 269 ;; If ANCESTOR-REV is nil, then merge without the ancestor. |
290 startup-hooks)) | 297 startup-hooks)) |
291 | 298 |
292 (if ancestor-buf | 299 (if ancestor-buf |
293 (ediff-merge-buffers-with-ancestor | 300 (ediff-merge-buffers-with-ancestor |
294 buf1 buf2 ancestor-buf startup-hooks | 301 buf1 buf2 ancestor-buf startup-hooks |
295 'ediff-merge-revisions-with-ancestor) | 302 'ediff-merge-revisions-with-ancestor merge-buffer-file) |
296 (ediff-merge-buffers | 303 (ediff-merge-buffers |
297 buf1 buf2 startup-hooks 'ediff-merge-revisions)) | 304 buf1 buf2 startup-hooks 'ediff-merge-revisions merge-buffer-file)) |
298 )) | 305 )) |
299 | 306 |
300 (defun ediff-pcl-cvs-view-revision (file rev) | 307 (defun ediff-pcl-cvs-view-revision (file rev) |
301 ;; if rev = "", get the latest revision | 308 ;; if rev = "", get the latest revision |
302 (let ((temp-name (make-temp-name | 309 (let ((temp-name (make-temp-name |
322 (find-file-noselect temp-name)))) | 329 (find-file-noselect temp-name)))) |
323 | 330 |
324 | 331 |
325 (defun cvs-run-ediff-on-file-descriptor (tin) | 332 (defun cvs-run-ediff-on-file-descriptor (tin) |
326 ;; This is a replacement for cvs-emerge-mode | 333 ;; This is a replacement for cvs-emerge-mode |
327 ;; Run after cvs-update. | 334 ;; Runs after cvs-update. |
328 ;; Ediff-merge appropriate revisions of the selected file. | 335 ;; Ediff-merge appropriate revisions of the selected file. |
329 (let* ((fileinfo (tin-cookie cvs-cookie-handle tin)) | 336 (let* ((fileinfo (tin-cookie cvs-cookie-handle tin)) |
330 (type (cvs-fileinfo->type fileinfo)) | 337 (type (cvs-fileinfo->type fileinfo)) |
331 (tmp-file | 338 (tmp-file |
332 (cvs-retrieve-revision-to-tmpfile fileinfo)) | 339 (cvs-retrieve-revision-to-tmpfile fileinfo)) |