How to keep such version, I use following command but failed?
fossil open ~/fs/repo.fossil # contains many files
fossil update -r 34bd bug.c
fossil ci <-- why there is no change?
This seems to be two questions packed into one
There is no change because you have not made any changes. You have have opened ( copied into the working directory ) the file that belong to "old_revision". You have not changed anything It remains identical to the file for the version as stored in the repository.
fossil open ~/fs/repo # contains many files
fossil revert-r <old_revision> one_file
fossil ci
Notice that I am using the revert command, NOT the update command
Here are the details of the revert command http://www.fossil-scm.org/fossil/help?cmd=revert