Le 13/09/2013 16:30, Esteban A. Maringolo a écrit :
Goubier,

You do answer my questions. I'm certainly looking for something like
gitfiletree then.

One last question I have is, does the gitfiletree:// repository type
come bundled with the FileTree package? Or do I need to download and
install it separately?

Yes, I think it is in the default configuration for pharo 2.0.

Regarding adding more git commands inside the MC GUI I'd like to have
them separated.
Unless I can load previous versions of my MC package and that causes the
git to checkout the files from a previous commit.

No, it does a lot better than that.

It loads the definitions of a previous version of a package without doing a checkout on the repo, to do with it in MC as you want : load/merge/compare changes. If you know git, it uses 'git archive' to retrieve a specific package version in the commit history.

It also bypass most of the stored metadata in the package: methods timestamps are the git commit timestamps, package history is the git commit history of the repo (pruned to remove all commits not related to the package, in the case of a repo containing multiple packages).

I don't know how the branching is managed or if it's simply ignored.

I'm displaying it in the repository inspector, otherwise it's ignored.

Thierry

Regards,

Esteban A. Maringolo


2013/9/13 Goubier Thierry <thierry.goub...@cea.fr
<mailto:thierry.goub...@cea.fr>>



    Le 13/09/2013 04:25, Esteban A. Maringolo a écrit :

        Is anybody using FileTree repositories?


    Which repositories? Dale's github?


        If so, I'd like to know the pros and cons of using it.


    More complex to use than Smalltalkhub/Squeaksource because it is not
    yet integrated in the default image. Some features may not work, but
    average MC work under Pharo2.0 works fine with all features of
    Filetree (including gitfiletree).

    Easier to use than Smalltalkhub/Squeaksource for authentification.


        I want to use to version everything with git, but I don't know
        how it
        keeps git (it is, FileTree files) in sync with MC versions.


    A filetree repository appears as a MC repository in the same way as
    another type of MC repository.

    Filetree will require that you do all your version management in the
    git repo by hand (i.e. save a version of your package in a filetree
    repo, then switch to a console to commit it. If you forget to commit
    and save a new version of a package on the filetree repo, you
    overwrite the previous version and git will not record it. Filetree
    by itself will only show you the state of the HEAD of your git
    repository).

    If you use gitfiletree (it sits over Filetree), then git commit will
    be done for you when saving your package, and the repository browser
    will show you all the history of the repository, exactly as if it
    was a Smalltalkhub or Squeaksource repository. What will remain to
    do on the command line are the git push and whatever management you
    do on the repository (merging, branching, even if you can also merge
    via MC instead). In short, gitfiletree calls git for you and parse
    the results :)

    I'm still wondering about adding more git commands inside the MC GUI
    to do more from inside Pharo (like automagically pushing), but I
    don't want to enforce a specific way of organising the git
    repository... and I'm just trying to get gitfiletree to pass its
    tests in the pharo3.0 branch of Filetree at the moment.

    Does this answer your questions?

    Thierry
    --
    Thierry Goubier
    CEA list
    Laboratoire des Fondations des Systèmes Temps Réel Embarqués
    91191 Gif sur Yvette Cedex
    France
    Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95

Reply via email to