emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pcl-cvs: merging in wrong revision file when conflicts


From: Dominique de Waleffe
Subject: Re: pcl-cvs: merging in wrong revision file when conflicts
Date: Tue, 26 Apr 2005 14:02:48 +0200
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Dominique de Waleffe wrote:

Upon inspection of the directory, I noticed that I had .#f.1.20
.#f.1.23
.#f.1.5
.#f.1.6
.#f.1.7

in my directory. The merge used .#f.1.7 instead of .#f.1.23.
I removed .#f.7 and then tried again. The merge used .#f.1.6 I then removed .#f.1.{5,6} and tried again, now it used .#f.1.23 the
expected version.

I have a strong suspicion that there is a sort done on the names to
find the most recent conflicting revision and that this sort is done
incorrectly on strings instead of on numerical revision numbers.

I spent a little time at lunch to investigate... Here is the result.

I one sentence: file-newer-than-file-p gives incorrect results.

Steps:

I edebug'ed cvs-fileinfo->backup-file in pcvs-info.

I forced a conflict in file: service.reverse_transform.adhoc.m

Dired shows:
  -rw-rw-rw-   1 Winx509  root        50306 04-13 16:56 
.#service.reverse_transform.adhoc.m.1.18
  -rw-rw-rw-   1 Winx509  root        62937 04-26 13:36 
.#service.reverse_transform.adhoc.m.1.24
  -rw-rw-rw-   1 Winx509  root        10932 03-21 17:34 
.#service.reverse_transform.adhoc.m.1.4

This is the messages collected while tracing the function:
Result: [cl-struct-cvs-fileinfo nil CONFLICT nil "service_broker/" "service.reverse_transform.adhoc.m" nil nil ("1.24" . "1.25") "RCS file: /var/cvs/map/mas/service_broker/service.reverse_transform.adhoc.m,v\nretrieving revision 1.24\nretrieving revision 1.25\nMerging differences between 1.24 and 1.25 into service.reverse_transform.adhoc.m\nrcsmerge: warning: conflicts during merge\ncvs server: conflicts found in service.reverse_transform.adhoc.m\nC service.reverse_transform.adhoc.m"]
Result: "service_broker/"
Result: [cl-struct-cvs-fileinfo nil CONFLICT nil "service_broker/" "service.reverse_transform.adhoc.m" nil nil ("1.24" . "1.25") "RCS file: /var/cvs/map/mas/service_broker/service.reverse_transform.adhoc.m,v\nretrieving revision 1.24\nretrieving revision 1.25\nMerging differences between 1.24 and 1.25 into service.reverse_transform.adhoc.m\nrcsmerge: warning: conflicts during merge\ncvs server: conflicts found in service.reverse_transform.adhoc.m\nC service.reverse_transform.adhoc.m"]
Result: "service.reverse_transform.adhoc.m"
Result: "service_broker/"
Result: "d:/documents and settings/winx509/My 
Documents/MAS/mas/service_broker/" [2 times]
Result: ".#"
Result: "\\.#"
Result: "service.reverse_transform.adhoc.m"
Result: "service\\.reverse_transform\\.adhoc\\.m"
Result: 
"\\`\\.#service\\.reverse_transform\\.adhoc\\.m\\(\\.[0-9]+\\.[0-9]+\\)+\\'"
Result: (".#service.reverse_transform.adhoc.m.1.18" 
".#service.reverse_transform.adhoc.m.1.24" ".#service.reverse_transform.adhoc.m.1.4") [2 
times]
Result: ".#service.reverse_transform.adhoc.m.1.18"
Result: t
Result: nil
Result: t [3 times]
Result: "service_broker/"
Result: ".#service.reverse_transform.adhoc.m.1.18"
Result: "service_broker/.#service.reverse_transform.adhoc.m.1.18" [3 times]
Result: ".#service.reverse_transform.adhoc.m.1.24"
Result: t
Auto-saving...done
Result: "service_broker/.#service.reverse_transform.adhoc.m.1.18"
Result: nil
Result: ".#service.reverse_transform.adhoc.m.1.24"
Result: "service_broker/.#service.reverse_transform.adhoc.m.1.18"
Result: t [3 times]
Result: "service_broker/"
Result: ".#service.reverse_transform.adhoc.m.1.24"
Result: "service_broker/.#service.reverse_transform.adhoc.m.1.24" [3 times]
Result: ".#service.reverse_transform.adhoc.m.1.4"
Result: t
Result: "service_broker/.#service.reverse_transform.adhoc.m.1.24"
Result: nil
---------------HERE IS THE PROBLEM (file-newer-than-file-p f bf)-------------
Result: ".#service.reverse_transform.adhoc.m.1.4"   (that is f)
Result: "service_broker/.#service.reverse_transform.adhoc.m.1.24" (that is bf)
------------SHOULD RETURN NIL, according to time stamps
Result: t [3 times]
Result: "service_broker/"
Result: ".#service.reverse_transform.adhoc.m.1.4"
Result: "service_broker/.#service.reverse_transform.adhoc.m.1.4" [5 times]

Final result of the function is thus wrong.

Hope this helps. So this seems not specific to pcl-cvs but local to 
file-newer-than-file-p.
Might even be happening only on Windows?

Regards,

D.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]