Fossil (distributed software configuration management system)

From Andreida
Revision as of 19:40, 28 September 2019 by Andreas (talk | contribs) (→‎Forum)

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

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.