code repository options
I am interested in keeping my code on github. Is there a way to connect, browse, load github-based Pharo code? What are all the options for storing code onthe net and interacting with it in Pharo? Many thanks, R
Le 16/10/2015 06:40, Robert Withers a écrit :
I am interested in keeping my code on github. Is there a way to connect, browse, load github-based Pharo code?
Yes, there is: - filetree + git by hand (included in the image) - gitfiletree (filetree + calls git for you) (ConfigurationOfGitFileTree) (Windows support is getting better) - github:// urls (for distribution of your code) (included in the image) If you're a lot into branching, you'll have to take a look at the gitfiletree merge driver (on github). Thierry
What are all the options for storing code onthe net and interacting with it in Pharo?
All solutions above also work with bitbucket. GitFileTree will work with anything which has a git interface. Regards, Thierry
Many thanks, R
Thank you for your guidance. I went with bitbucket and gitfiletree. I'm investigating adding my repo to the Monticello browser using gitfiletree. cheers, Robert On 10/16/2015 01:03 AM, Thierry Goubier wrote:
Le 16/10/2015 06:40, Robert Withers a écrit :
I am interested in keeping my code on github. Is there a way to connect, browse, load github-based Pharo code?
Yes, there is:
- filetree + git by hand (included in the image) - gitfiletree (filetree + calls git for you) (ConfigurationOfGitFileTree) (Windows support is getting better) - github:// urls (for distribution of your code) (included in the image)
If you're a lot into branching, you'll have to take a look at the gitfiletree merge driver (on github).
Thierry
What are all the options for storing code onthe net and interacting with it in Pharo?
All solutions above also work with bitbucket.
GitFileTree will work with anything which has a git interface.
Regards,
Thierry
Many thanks, R
Thierry Goubier wrote
Yes, there is:
I've really enjoyed working wit GitHub for social coding, and Bitbucket as well for my private projects (for which it's free). I flip flop back and forth between Thierry's first two options (filetree and gitfiletree), depending on my use case and mood. GitFileTree certainly seems to be the most automatic approach, but filetree + git command line is not too much more, and allows one to take advantage of more git features e.g. many commits for sanity purposes, squashed into one when a feature/issue is ready. Also, you can do one-commit-per-logical-milestone as opposed to GitFileTree's more (maybe too ;)) finely-grained one-commit-per-package The biggest pain I felt was losing Versionner and having to go back to editing Metacello artifacts by hand :/ This is because Git's main MetaC artifact is the BaselineOf instead of ConfigurationOfXyz. Although on the bright side, the really cool thing that Dale had to explain to me a few times before I got it is - compared to a Configuration's baseline###, a BaselineOf is really simplified because by the time you have the baseline, you already have accessed a specific commit in a specific repository, so none of this info has to be captured in the baseline! ----- Cheers, Sean -- View this message in context: http://forum.world.st/code-repository-options-tp4855913p4859391.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Hi Sean, 2015-11-05 17:24 GMT+01:00 Sean P. DeNigris <sean@clipperadams.com>:
Thierry Goubier wrote
Yes, there is:
I've really enjoyed working wit GitHub for social coding, and Bitbucket as well for my private projects (for which it's free). I flip flop back and forth between Thierry's first two options (filetree and gitfiletree), depending on my use case and mood. GitFileTree certainly seems to be the most automatic approach, but filetree + git command line is not too much more, and allows one to take advantage of more git features e.g. many commits for sanity purposes, squashed into one when a feature/issue is ready. Also, you can do one-commit-per-logical-milestone as opposed to GitFileTree's more (maybe too ;)) finely-grained one-commit-per-package
I hijack the subject. Has it an effect that you loose access to some of the versions of your packages when you delay committing with git + filetree?
The biggest pain I felt was losing Versionner and having to go back to editing Metacello artifacts by hand :/ This is because Git's main MetaC artifact is the BaselineOf instead of ConfigurationOfXyz. Although on the bright side, the really cool thing that Dale had to explain to me a few times before I got it is - compared to a Configuration's baseline###, a BaselineOf is really simplified because by the time you have the baseline, you already have accessed a specific commit in a specific repository, so none of this info has to be captured in the baseline!
Doesn't Versionner has the ability to create baselines (ok, baselines inside Configurations) ? Thierry
----- Cheers, Sean -- View this message in context: http://forum.world.st/code-repository-options-tp4855913p4859391.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On 11/05/2015 08:52 AM, Thierry Goubier wrote:
Hi Sean,
2015-11-05 17:24 GMT+01:00 Sean P. DeNigris <sean@clipperadams.com <mailto:sean@clipperadams.com>>:
Thierry Goubier wrote
The biggest pain I felt was losing Versionner and having to go back to editing Metacello artifacts by hand :/ This is because Git's main MetaC artifact is the BaselineOf instead of ConfigurationOfXyz. Although on the bright side, the really cool thing that Dale had to explain to me a few times before I got it is - compared to a Configuration's baseline###, a BaselineOf is really simplified because by the time you have the baseline, you already have accessed a specific commit in a specific repository, so none of this info has to be captured in the baseline!
Doesn't Versionner has the ability to create baselines (ok, baselines inside Configurations) ?
It may have been the case that Versionner was missing some supporting code from the MetacelloToolBox. For tODE I finally got around to generating baselines for a new project and I finally ended up adding some support to Metacello for building a BaselineOf[1]. Dale [1] https://github.com/dalehenrich/metacello-work/issues/162
Dale Henrichs-3 wrote
I finally ended up adding some support to Metacello for building a BaselineOf[1].
Great! I opened an issue and added that info: Issue 16948: Versionner: Support BaselineOf's https://pharo.fogbugz.com/f/cases/16948/Versionner-Support-BaselineOf-s ----- Cheers, Sean -- View this message in context: http://forum.world.st/code-repository-options-tp4855913p4859740.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Thierry Goubier wrote
Has it an effect that you loose access to some of the versions of your packages when you delay committing with git + filetree?
I usually just delay the commit in order to save all packages related to a feature, not to save multiple versions of the same package, so I haven't run into that yet. ----- Cheers, Sean -- View this message in context: http://forum.world.st/code-repository-options-tp4855913p4859743.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Le 07/11/2015 18:30, Sean P. DeNigris a écrit :
Thierry Goubier wrote
Has it an effect that you loose access to some of the versions of your packages when you delay committing with git + filetree?
I usually just delay the commit in order to save all packages related to a feature, not to save multiple versions of the same package, so I haven't run into that yet.
Hum. There is this behavior in GitFileTree (saving multiple packages with one commit) but it is only active when you save a package and its dependencies (as in a Slice). In short, yes, it would be easy to automate if the right concepts and actions were available above the repository. As usual :( Thierry
On 11/7/15 9:52 AM, Thierry Goubier wrote:
Le 07/11/2015 18:30, Sean P. DeNigris a écrit :
Thierry Goubier wrote
Has it an effect that you loose access to some of the versions of your packages when you delay committing with git + filetree?
I usually just delay the commit in order to save all packages related to a feature, not to save multiple versions of the same package, so I haven't run into that yet.
Hum.
There is this behavior in GitFileTree (saving multiple packages with one commit) but it is only active when you save a package and its dependencies (as in a Slice).
In short, yes, it would be easy to automate if the right concepts and actions were available above the repository. As usual :(
Thierry For tODE, I manage commits and loads, reverts, etc. at the Metacello project level - all dirty packages in a project are committed at once ... you can revert a project and all dirty packages are reverted, merging, etc .... There's a certain amount that can be done through the Metacello api, but I've ended up building a "project model" that wraps Metacello ...
Dale
participants (4)
-
Dale Henrichs -
Robert Withers -
Sean P. DeNigris -
Thierry Goubier