[DVC] [PATCH] Maybe I need some input?
Davide G. M. Salvetti <
salve@...>
2006-06-03 16:46:07 GMT
Hi devs,
I think I need some help. I'm trying to fix dvc, which gives me some
trouble, but at this moment I have a very limited beginner's
understanding of its internals (I hope you can help me to improve).
The current problem I tryed to fix: I pressed `y' from the
`*baz-missing*' buffer to sync one of my trees and dvc yelled at me that
nil failed arrayp. I edebugged `tla-revision-sync-tree' and found that
--8<---------------cut here---------------start------------->8---
(tla--revision-revision (car (cddr elem)))
--8<---------------cut here---------------end--------------->8---
failed. Ok, since `s' worked, I studied `tla-revision-star-merge' and
found that in a very similar situation it calls
--8<---------------cut here---------------start------------->8---
(tla--revision-revision (dvc-revlist-entry-patch-struct (nth 1 elem)))
--8<---------------cut here---------------end--------------->8---
instead. Then I patched `tla-revision-sync-tree' mimicking
`tla-revision-star-merge' and `y' worked (this is the enclosed patch).
Out of curiosity, I poked around to see if there were other occurrences
of this `(tla--revision-revision (car (cddr elem)))' thingy (or other
similar in spirit forms) and found out that there are many, e.g., in
`tla-revision-get-revision', `tla-revision-cache-revision',
`tla-revision-add-to-library', `tla-revision-scroll-or-show-changeset',
`tla-revision-delta', `tla-revision-bookmarks-add',
`tla-revision-replay'.
Now, of course, I wonder if:
1. my fix to `tla-revision-sync-tree' is right;
(Continue reading)