Does fossil have an equivalent of cvs status?

100 Views Asked by At

If possible, I would like to get the fossil equivalent of CVS's notion of Working revision:

===================================================================
File: tony              Status: Locally Modified

   Working revision:    1.2 2022-08-24 22:15:36 -0700
   Repository revision: 1.2 /cvsroot/kn/newdir/tony,v
   Commit Identifier:   1006307057632F6D41E
   Sticky Tag:      (none)
   Sticky Date:     (none)
   Sticky Options:  (none)

I am aware that there is a fossil status command, but that does not give any information about specific files in the repository. The fossil finfo <file> command shows the revisions, fossil ls -v & fossil update -n show some file status (like UPDATE, EDITED, etc.) but I can find no command that indicates the provenance of the file as in the "Working revision: 1.2" above.

2

There are 2 best solutions below

1
Lazy Badger On BEST ANSWER
  1. You have to understand at least one big difference between pure CVS and modern VCS: revisions of single files vs changesets for the whole repository
  2. Consequence from p1 - all files in repo in given revision (aka "changesets") belong to this revision

Maybe a sample of a such snippet (or any part of it) will provide the closest information to the required for you (paths, file and slashes are specific to my Windows-setup)

..\fossil finfo -s Makefile.classic && ..\fossil finfo -b -n 1 Makefile.classic
unchanged  6721c654a9
8d78edddf7 2022-01-21 george search-t Merge from trunk
  • With finfo -s I get status of file and revision of Working Dir
  • With finfo -b -n 1 I get last single changeset, which touched file in the past
1
Martijn On

What exactly does "provenance" mean in this context?

The annotate command will show in which commits said file has been changed, but it will do so for every separate line in the file.