The officially official Devuan Forum!

You are not logged in.

#1 2024-09-10 18:00:38

chomwitt
Member
Registered: 2019-09-24
Posts: 130  

How fossil vcs create commits?

Trying to find a vcs perhaps more intuitive and more simple that git i tried lately fossil.

Now suppose i have a certain project tree that i work on.
I'd like to have a command: $ fossil commit project-tree
That command would seems intuitive. We have made some changes and we want to save our project's tree state.But no. In fossil we must do (like in git)
$ fossil add files
and after we have added all the files with changes to our fossil repo THEN
we can make a commit.

$ fossil help add
Usage: fossil add ?OPTIONS? FILE1 ?FILE2 ...?

Make arrangements to add one or more files or directories to the
current check-out at the next commit.


(isnt that strange way to explain what a cvs command does? ''Make arrangements' ?..
make arrengement to add a file to the current check-out at the next commit ? Is that explanation or a cvs riddle ? )

So it seems that we have to tell Fossil to construct the Artifacts (Artficats are the equivalenf of blobs in git). But why should  i worry about constructing the artifacts? It seems to me like plumbing that shouldn't bother the end user. The end user is interested in his project.

A project could be various things. Composed of things of various types. But it seems to me that a programmer when using a VCS is interested in the project's state. Not in the project's various subunit's states.

note1: vaguely i remember that in git there is a command to do a commit bypassing all the ''plumbing' steps.

note2: Darcs also handles changes to files by  'addiing' first a file to the vcs's repo. ( ref )

Last edited by chomwitt (2024-09-10 19:58:49)


Devuan(Chimaera)(Daedalus)  DS+WM: XorgX11server+StumpVM

Offline

#2 2024-09-12 09:41:47

chomwitt
Member
Registered: 2019-09-24
Posts: 130  

Re: How fossil vcs create commits?

I did some test in subversion (svn) and in svn after i have edited a single file i can commit it
and a new revision is created of my whole project.

$ svn status
M       hello.c

$ svn commit -m "hello.c small change"
Sending        hello.c
Transmitting file data .done
Committing transaction...
Committed revision 2.

$ svn info 
Path: .
Working Copy Root Path: /home/chomwitt/SubversionProjects/clang-tut-svn/clang-tut-svn
URL: file:///home/chomwitt/SubversionProjects/clang-tut-svn
Relative URL: ^/
Repository Root: file:///home/chomwitt/SubversionProjects/clang-tut-svn
Repository UUID: d6886743-4710-4964-b599-501d0e4beea0
Revision: 1
Node Kind: directory
Schedule: normal
Last Changed Author: chomwitt
Last Changed Rev: 1
Last Changed Date: 2024-09-11 16:46:06 +0300 (Wed, 11 Sep 2024)

$ svn update
Updating '.':
At revision 2.

So if i am not mistaken i didnt have first to 'add' the changed file to the repo and then to make a commit for my project.

Last edited by chomwitt (2024-09-12 09:44:04)


Devuan(Chimaera)(Daedalus)  DS+WM: XorgX11server+StumpVM

Offline

Board footer