So far, most of my Fossil use has been on projects I own almost
exclusively. However, I'm about to start working on projects with a
community, and while I'm going to push Fossil adoption hard, I may get
some pushback from Git users. Is it possible to use Fossil in a workflow
with people who would rather use Git/Github? IOW, can I make Fossil my
official project source but periodically push updates to Github, then
import the results of people's contributions into the official repo?
I see an incremental option for import. I'm guessing this helps with
that? Can I just incrementally import the latest changes from Git
repositories? I'm guessing this just adds in changesets from Git that
aren't present in Fossil?
I don't see a symmetric option in the export command. Do I just have to
keep exporting the full repository each time? I'm guessing that the
exports should be identical such that when I go to push the new export
to Github, that it won't look like an entirely new repo.
Hoping that I can push Fossil adoption for these projects, but I'm
worried that I'll have to use the lowest common denominators in these
communities, and in this case that will be Git. In that case, I'd really
rather build the project/site in Fossil, then win people over when they
realize that their Fossil clone of the project includes the wiki,
ticketing system, etc. and their Git pulls don't. :)
_______________________________________________
fossil-users mailing list
fossil...@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
some pushback from Git users. Is it possible to use Fossil in a workflow with people who would rather use Git/Github?
I think that this is doable for a restricted subclass of usage scenarios
(these conforming workflow style cited by Stephan above + bunch of
other restrictions).
We can benefit the fantastic opportunity of sqlite as fossil artifacts
container - I think that it is possible to be implemented git protocol
enabled python server with dulwich [1] on top of the fossil db, once we
are able to manage fossil/git commit hashes dictionary in additional db
table. Hg-git [2] also uses similar approach (but client side, It seems
to me that server side is the easier one).
As Fossil API, for the proof of the concept, the server can use the JSON
API, Stephan ?
Kind Regards,
Alek
[1] http://git.samba.org/?p=jelmer/dulwich.git
[2] http://hg-git.github.com/
P.S. github != git, maybe tickets and wikis can be synchronized too (to
some level) using the gihub API.
As Fossil API, for the proof of the concept, the server can use the JSON API, Stephan ?
This approach (binaries via URL "pointers" on get/direct POST payloads
on send) seems OK to me ...
Does hg have something git's rebase and other history rewriting operations ?
If not, how do hg and the synchronizer (dulwich?) cope when the git repository
they talk to undergoes such a rewrite ?
This claim of 'lossless conversion of changesets' is certainly something of
interest.
Hm ... given that "This plugin was originally developed by the folks at
GitHub", maybe we can interest them in doing similar for fossil ?
> As Fossil API, for the proof of the concept, the server can use the JSON API,
> Stephan ?
>
> Kind Regards,
> Alek
>
> [1] http://git.samba.org/?p=jelmer/dulwich.git
> [2] http://hg-git.github.com/
>
> P.S. github != git, maybe tickets and wikis can be synchronized too (to some
> level) using the gihub API.
>
--
Andreas Kupries
Senior Tcl Developer
ActiveState, The Dynamic Language Experts
P: 778.786.1122
F: 778.786.1133
andr...@activestate.com
http://www.activestate.com
Get insights on Open Source and Dynamic Languages at www.activestate.com/blog
Yes - hg supports all of them and more (via various bundled [1] and
endless count of community extensions), but as you know, history
rewriting kills any repo/repo synchronization in any DVCS. Thus,
thinking of the partial Fossil/Git bridge, let's focus on ideal case -
no rebases, full DAG synchronization.
>
> If not, how do hg and the synchronizer (dulwich?) cope when the git
> repository they talk to undergoes such a rewrite ?
Dulwich is not a merge-application - dulwich is just a well designed Git
API (protocol and container format).
In the case of Mercurial/Git bridge, the actual synchronizer is the
hg-git itself (mercurial extension), which was started as common effort
with github.com, but these days is actually maintained by hg-subversion
team (with Augie Fackler [2] as lead)
[1] http://mercurial.selenic.com/wiki/RebaseExtension
[2] https://bitbucket.org/durin42/hg-git/changesets
I tried to do something similar, using a git tag to keep track of where I was up tofor the incremental import.It mostly works, except the timeline shows each import as disconnected fromthe previous import. See attached.For the import at 21:40, I tried to import one previous rev hoping that they would bemerged, but this didn't happen. Is this "disconnect" fixable?
<fossil-git-incr-import.png>
On 10/11/2011, at 2:30 PM, Steve Bennett wrote:I tried to do something similar, using a git tag to keep track of where I was up tofor the incremental import.It mostly works, except the timeline shows each import as disconnected fromthe previous import. See attached.For the import at 21:40, I tried to import one previous rev hoping that they would bemerged, but this didn't happen. Is this "disconnect" fixable?I guess the problem is that the first commit of an incremental import has noancestor identified. Would it be possible to identify the ancestor somehow, eitheron the command line, or by finding the tip of the corresponding branch?

On 10/11/2011, at 2:50 PM, Steve Bennett wrote:On 10/11/2011, at 2:30 PM, Steve Bennett wrote:I tried to do something similar, using a git tag to keep track of where I was up tofor the incremental import.It mostly works, except the timeline shows each import as disconnected fromthe previous import. See attached.For the import at 21:40, I tried to import one previous rev hoping that they would bemerged, but this didn't happen. Is this "disconnect" fixable?I guess the problem is that the first commit of an incremental import has noancestor identified. Would it be possible to identify the ancestor somehow, eitheron the command line, or by finding the tip of the corresponding branch?The attached patch works for my simple case of always importing to the tip of trunk,but I'm sure it is highly dubious in other situations.
No comments on this?It works for me. Shall I commit this fix, or are there potential issues with it?
_______________________________________________
fossil-users mailing list
fossil...@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
On Sun, Nov 13, 2011 at 6:48 PM, Steve Bennett <ste...@workware.net.au> wrote:No comments on this?It works for me. Shall I commit this fix, or are there potential issues with it?
I think go ahead and commit.