Hello all,

I came across this weird case a couple of days ago:

 1:  tif@whiskey-five:~$ fossil version
 2:  This is fossil version 1.23 [5253e0a791] 2012-08-23 21:18:51 UTC
 3:  tif@whiskey-five:~$ fossil init foo.fossil
 4:  project-id: 49688f237979eb312a68fe32b7cdad04ddad7cec
 5:  server-id:  e579f16a82655c6ab4a8aff2478bc6b96a70624f
 6:  admin-user: tif (initial password is "563053")
 7:  tif@whiskey-five:~$ mkdir foo; cd foo
 8:  tif@whiskey-five:~/foo$ fossil open ../foo.fossil
 9:  tif@whiskey-five:~/foo$ touch a.sh b.sh c.sh
10:  tif@whiskey-five:~/foo$ fossil add .
11:  ADDED  a.sh
12:  ADDED  b.sh
13:  ADDED  c.sh
14:  tif@whiskey-five:~/foo$ fossil commit -m initial
15:  New_Version: ef4abd6d038f68f3f4db8959ace07c186e39f7f7
16:  tif@whiskey-five:~/foo$ chmod a+x *.sh
17:  tif@whiskey-five:~/foo$ fossil changes
18:  tif@whiskey-five:~/foo$ echo "bar" >> a.sh
19:  tif@whiskey-five:~/foo$ fossil changes
20:  EDITED     a.sh
21:  tif@whiskey-five:~/foo$ fossil commit -m 'changed a' a.sh
22:  New_Version: d4bc5fa8123d99b03d87aee925920d515c8c97e7
23:  tif@whiskey-five:~/foo$ fossil ui
24:  Listening for HTTP requests on TCP port 8081
25:  Created new window in existing browser session.
26:  ^C
27:  tif@whiskey-five:~/foo$ rm *.sh
28:  tif@whiskey-five:~/foo$ fossil checkout trunk --force
29:  a.sh
30:  b.sh
31:  c.sh
32:  tif@whiskey-five:~/foo$ ls -l
33:  total 4
34:  -rwxrwxr-x 1 tif tif 4 Sep 24 13:32 a.sh
35:  -rwxrwxr-x 1 tif tif 0 Sep 24 13:32 b.sh
36:  -rwxrwxr-x 1 tif tif 0 Sep 24 13:32 c.sh
37:  tif@whiskey-five:~/foo$ fossil timeline
38:  === 2012-09-24 ===
39:  20:31:13 [d4bc5fa812] *CURRENT* changed a (user: tif tags: trunk)
40:  20:30:17 [ef4abd6d03] initial (user: tif tags: trunk)
41:  20:29:33 [89590aa546] initial empty check-in (user: tif tags: trunk)
42:  tif@whiskey-five:~/foo$ fossil diff --from ef4abd6d03 --to d4bc5fa812
43:  Index: a.sh
44:  ==================================================================
45:  --- a.sh
46:  +++ a.sh
47:  @@ -0,0 +1,1 @@
48:  +bar
49:

On line 23 (fossil ui), if you navigate to the checkin page it shows the
following:

Modified a.sh <http://localhost:8081/finfo?name=a.sh> from
> [da39a3ee5e6b4b0d]<http://localhost:8081/artifact/da39a3ee5e6b4b0d3255bfef95601890afd80709>
>  to 
> [e242ed3bffccdf27].<http://localhost:8081/artifact/e242ed3bffccdf271b7fbaf34ed72d089537b42f>
>     [diff]
> <http://localhost:8081/fdiff?v1=da39a3ee5e6b4b0d&v2=e242ed3bffccdf27>Execute
> permission set for b.sh
> <http://localhost:8081/finfo?name=b.sh>Execute permission set for 
> c.sh<http://localhost:8081/finfo?name=c.sh>


Fossil changes does not report the changes to the execute bit in the CLI
(line 17, 19) and neither does fossil diff (line 45).

I can see the rationale for not having a special status message just for
when the permissions change -- that seems like it would be quite a bit of
extra code for a very uncommon case. I do think that a partial commit,
however, should probably only commit changes to the files explicitly named.

(source-able command list is attached in case that saves anyone any time
verifying this)


Thanks as always for fossil -- It helps me feed my family, which is all
anyone could ask of a great tool,

Themba

Attachment: fossil_bugreport_commands
Description: Binary data

_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to