git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johan Herland <johan@herland.net>
To: Tim Chase <git@tim.thechases.com>
Cc: Git mailing list <git@vger.kernel.org>,
	"Kyle J. McKay" <mackyle@gmail.com>
Subject: Re: Git -> fossil bridging?
Date: Mon, 18 Nov 2013 08:17:32 +0100	[thread overview]
Message-ID: <CALKQrgd9u3Oqrs8wbGqhq17=yFofFKpnFLtwfb-5A8JfVkrW7A@mail.gmail.com> (raw)
In-Reply-To: <20131117182650.1ba89a8b@bigbox.christie.dr>

On Mon, Nov 18, 2013 at 1:26 AM, Tim Chase <git@tim.thechases.com> wrote:
> 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

  reply	other threads:[~2013-11-18  7:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-17 21:00 Git -> fossil bridging? Tim Chase
     [not found] ` <575D57DB-026F-484E-8068-E7965395E902@gmail.com>
2013-11-18  0:26   ` Tim Chase
2013-11-18  7:17     ` Johan Herland [this message]
2014-10-30 23:14       ` tofutim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALKQrgd9u3Oqrs8wbGqhq17=yFofFKpnFLtwfb-5A8JfVkrW7A@mail.gmail.com' \
    --to=johan@herland.net \
    --cc=git@tim.thechases.com \
    --cc=git@vger.kernel.org \
    --cc=mackyle@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).