Fossil (distributed software configuration management system)

From Andreida
Revision as of 01:28, 5 August 2024 by Andreas (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Homepage of Fossil: https://www.fossil-scm.org

Please keep in mind, Fossil is not like Mercurial where you can have multiple clones of the repository and sync data between them. Fossil is a classical Server/Client source management system like subversion.

Migrate from svn to Fossil

We first migrate to git, then to Fossil.

Migrate from svn to git

git svn clone https://<IP>/<path>/<repo-name>

Example:

git svn clone https://192.168.0.145/svn/src

This will get the complete history from the svn repository and create a new git repository with the original name.

Migrate from git to Fossil

cd into the git repository, then

git fast-export --all | fossil import --git newName.fossil

Cloning Windows repository from Linux to itself

  • Create ssh access with a key
  • Prepare a config file like the following
 Host mywindows
       HostName                192.168.0.144
       User                    Sabine
       Port                    22
       ServerAliveInterval     60
       IdentityFile           ~/.ssh/rsa-sabine.private
  • Do the cloning like this:
fossil clone -v ssh://mywindows/D:/test1.repo?fossil=D:/fossil test2.repo


Things to watch for:

  • Use the same Fossil version on both systems or at least don't have them differ to much in version.
  • Do not use ".exe" when you give the path to Fossil on the Windows system with "fossil=D:/fossil".


Forum

Quoting multiple lines without empty lines:

<blockquote><pre>
Line 1
Line 2
Line 3
</pre></blockquote>

using ssh from Windows to Linux

from this post: https://www.fossil-scm.org/forum/forumpost/5cf6bcc7fc?t=c

On Windows, Fossil calls "plink -ssh -T" to set up SSH tunnels by default, which relies on either the plink.exe from PuTTY or the one from SSH Communications. If you don't want to install plink.exe from either source, but instead want to use OpenSSH — perhaps the version recently added to Windows — you have to override this with the ssh-command setting:

c:\> fossil set ssh-command "ssh -e none -T"

ssh.exe will need to be in the %PATH%, of course.

You might want to make this setting global, so it affects all repos on that system.