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