threads / discuss / 35354

Git -> fossil bridging?

Subject: Git -> fossil bridging?

## tl;dr

4 messages between Nov 17, 2013 and Oct 30, 2014.

replies: 3people: 3as markdown or json

Tim Chase· Nov 17, 2013, 21:00 UTC · lore

Has there been any development on git<->fossil bridging? I know one can spew fastimports between the two for an initial synchronization, but I'd like to have a continuous bridge; something like git-svn. I have fossil on one machine (mostly a public machine, for bug-tracking, wiki, etc that fossil does nicely) while using git locally and pushing change-sets out to the fossil repo.

Any tips?

My current experimentation just houses both in the same location with my git "master" branch manually synced with the fossil repo (which is really all I need which does simplify matters greatly, though it would be nice to sync multiple branches if the functionality was there).

Thanks,
-tkc
Tim Chase· Nov 18, 2013, 00:26 UTC · lore

Re: Git -> fossil bridging?

On 2013-11-17 14:43, Kyle J. McKay wrote:
> Sounds like you want to write a 'git-remote-fossil' helper so you
> can do something like:
> 
>    git clone fossil::http://sqlite.org/src
Pretty much.  Or at least something akin to git-svn where one would do
  git fossil clone http://some.fossil.url/path/to/repo.fossil
  # hack hack
  git commit
  # possibly some git-branch, git-merge, git-rebase, git-cherry-pick
  # lather, rinse, repeat
  git fossil push # or git fossil dcommit

I've not played with the git+hg or git+bzr bridges to see if they'd have a more useful interface that would better map to fossil. If so, imagine that's what I typed above ;-)

-tkc
Johan Herland· Nov 18, 2013, 07:17 UTC · re: Tim Chase · lore

Re: Git -> fossil bridging?

On Mon, Nov 18, 2013 at 1:26 AM, Tim Chase <git@tim.thechases.com> wrote:
Show 18 quoted lines
> On 2013-11-17 14:43, Kyle J. McKay wrote:
>> Sounds like you want to write a 'git-remote-fossil' helper so you
>> can do something like:
>>
>>    git clone fossil::http://sqlite.org/src
>
> Pretty much.  Or at least something akin to git-svn where one would do
>
>   git fossil clone http://some.fossil.url/path/to/repo.fossil
>   # hack hack
>   git commit
>   # possibly some git-branch, git-merge, git-rebase, git-cherry-pick
>   # lather, rinse, repeat
>   git fossil push # or git fossil dcommit
>
> I've not played with the git+hg or git+bzr bridges to see if they'd
> have a more useful interface that would better map to fossil.  If so,
> imagine that's what I typed above ;-)

If you're looking at implementing this, please look at "git help remote-helpers" (or https://www.kernel.org/pub/software/scm/git/docs/git-remote-helpers.html ) which describes an infrastructure (in addition to fast-import/export) we have for interacting with foreign version control systems. A remote helper for fossil repos would allow you to consider the fossil repo as a git remote, and the usual git clone/fetch/pull/push commands for interacting with remote repos would Just Work against a fossil repo.

I understand how you might want to model this on "git svn", since that is obviously the most popular interface between git and an other VCS, but I believe git-svn is not the best example for how to write these gateways nowadays. git-svn was written long before git remote-helpers existed, but I hope/believe that if it was written again today, it would use remote-helpers instead of implementing its own commands.

git-remote-bzr and git-remote-hg in contrib/remote-helpers/ is the code that implements the git+bzr and git+hg bridges you mention above. Those would be useful reference points when implementing a git-remote-fossil helper. git-remote-mediawiki in contrib/mw-to-git/ might also be a useful example.

...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net
tofutim· Oct 30, 2014, 23:14 UTC · re: Johan Herland · lore

Re: Git -> fossil bridging?

Dear Tim and Johan, 

Are either of you aware of any progress (attempted or otherwise) ever made on "git fossil"? It would be lovely to have this working.

Respectfully, Tim

-- View this message in context: http://git.661346.n2.nabble.com/Git-fossil-bridging-tp7599490p7620514.html Sent from the git mailing list archive at Nabble.com.

← back to recent threads