Le 20/09/2014 12:19, Martin McClure a écrit :
On 09/19/2014 02:32 AM, kilon alios wrote:
I have been using not gitfiletree but filetree alone for the past week for my project Ephestos, because I am ok commiting to git via terminal/
https://github.com/kilon/phEphestos
I have to congratulate people behind filetree it has been a smooth ride so far.I had no problems with it at all and I am using git in terminal for doing all the git commits and push etc.
I've also been using filetree and manually using git (and github) for the past two years. It works really well for me.
I have done that for a year too, with Pharo 1.4. Then I wrote GitFileTree :) I've used that forever since, on 2.0, 3.0 and 4.0.
filetree also has been very succesful at some major refactoring I have done to Ephestos, I had to change the name of an entire class and I had to change methods to other classes . Filetree did an excellent job not just with the export to st file but actually git was able to see which files were deleted and which were renamed.
That meant I did not have to do any git rm .
However I do need to git add every time I add a new method or filetree creates a new file. Usually that is not a problem because I can see what files are not tracked by git with git status and copy paste their paths to git add.
After I save in Monticello to my Filetree local filesystem, I just do
git add -A
then I'm ready to commit. The -A (different from -a) picks up all changed, added, and removed files automatically.
I had a few issues with doing git commands by hand (forgot do it a few times, had conflicts with removed method reapparing with squeak) so this is why I automatized it. Then I got a few benefits, like having access to any version of a package in a git repository without checkouts, and even access to all the versions of a method (even up to one or two years old). And a reminder in the GUI that I need to "push".
So I will say overall my commits have been a process of saving in monticello , git add, git commit and git push which exactly the same process I have used for when I was and still coding in python.
That's my workflow as well. I also do work towards a particular bugfix or feature out on a Git branch, then merge that branch into the master whenever I'm done with that particular issue. Basically, normal Git workflow, which makes tracking things very easy.
If you often merge, consider using the GitFileTree-MergeDriver; installation is a bit complex, but it may really help if you're merging by reducing conflicts a lot. I do need to finish writing that part in the PharoForTheEnterprise book ;) Thierry
So thank you for this tool , I got fed up with the slow downs of Smalltalkhub and all its problems and it feels great to be back at using github :)
I will keep testing for a couple a months and then completely move to github . The only thing I noticed is that sometimes monticello slows down but that may well be a problem with Pharo 4.
I haven't noticed this, but I'm still on Pharo 3 for most of my project work.
Regards,
-Martin