{"id":13771593,"url":"https://github.com/jecisc/GitBridge","last_synced_at":"2025-05-11T04:30:46.817Z","repository":{"id":74011804,"uuid":"168057661","full_name":"jecisc/GitBridge","owner":"jecisc","description":"Access resources and information from the git repository containing your project.","archived":false,"fork":false,"pushed_at":"2025-03-28T14:46:38.000Z","size":54,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T12:52:14.276Z","etag":null,"topics":["bridge","git","pharo","smalltalk"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jecisc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-28T23:54:47.000Z","updated_at":"2025-03-29T20:14:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"9c55fd56-e5e4-45ae-8bba-82b1b69a4b3c","html_url":"https://github.com/jecisc/GitBridge","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FGitBridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FGitBridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FGitBridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FGitBridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jecisc","download_url":"https://codeload.github.com/jecisc/GitBridge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253518941,"owners_count":21921074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bridge","git","pharo","smalltalk"],"created_at":"2024-08-03T17:00:53.180Z","updated_at":"2025-05-11T04:30:46.515Z","avatar_url":"https://github.com/jecisc.png","language":"Smalltalk","funding_links":[],"categories":["Interaction"],"sub_categories":[],"readme":"# GitBridge\n\nGitBridge is a project which allow Pharo projects to communicate with the git repository storing them. Once the bridge is made, you can access resources in or information about the repository.\n\n- [Installation](#installation)\n- [Quick start](#quick-start)\n- [Documentation](#documentation)\n- [Version management](#version-management)\n- [Smalltalk versions compatibility](#smalltalk-versions-compatibility)\n- [Contact](#contact)\n\n## Installation\n\nTo install GitBridge in your Pharo image execute:\n\n```Smalltalk\n    Metacello new\n    \tgithubUser: 'jecisc' project: 'GitBridge' commitish: 'v1.x.x' path: 'src';\n    \tbaseline: 'GitBridge';\n    \tload\n```\n\nTo add it to your baseline:\n\n```Smalltalk\n    spec\n    \tbaseline: 'GitBridge'\n    \twith: [ spec repository: 'github://jecisc/GitBridge:v1.x.x/src' ]\n```\n\nNote that you can replace the #v1.x.x by another branch such as #development or a tag such as #v1.0.0, #v1.? or #v1.1.?.\n\n## Quick start\n\nIn order to create a GitBridge to your project, you first need to subclass `GitBridge` and to store your bridge in a package of your project.\n\n```Smalltalk\nGitBridge subclass: #MyProjectBridge\n\tslots: {  }\n\tclassVariables: {  }\n\tpackage: 'MyProject'\n```\n\nThis new bridge needs a class initialization like this one:\n\n```Smalltalk\nMyProjectBridge class\u003e\u003einitialize\n\tSessionManager default registerSystemClassNamed: self name\n```\n\nThis will allow the bridge to reset some cache at the image startup.\n\nNow that your bridge is created, if it finds an Iceberg repository, associated to its local clone, containing the package in which the bridge is defined, you will be able to use the bridge to access some resources.\n\nFor example you can get a file reference to the git folder like this:\n\n```Smalltalk\nMyProjectBridge root\n```\n\nYou can open the git repository by executing:\n\n```Smalltalk\nMyProjectBridge openInNativeFileSystem\n```\n\nYou can get the version of you project by executing:\n\n```Smalltalk\nMyProjectBridge versionOrBranchNameWithLastTag\n```\n\nFor more informations see the following documentation.\n\n## Documentation\n\nYou can find the full documentation here : [User documentation](resources/documentation/UserGuide.md).\n\n## Version management \n\nThis project uses semantic versioning to define the releases. This means that each stable release of the project will be assigned a version number of the form `vX.Y.Z`. \n\n- **X** defines the major version number\n- **Y** defines the minor version number \n- **Z** defines the patch version number\n\nWhen a release contains only bug fixes, the patch number increases. When the release contains new features that are backward compatible, the minor version increases. When the release contains breaking changes, the major version increases. \n\nThus, it should be safe to depend on a fixed major version and moving minor version of this project.\n\n## Smalltalk versions compatibility\n\n| Version \t| Compatible Pharo versions  |\n|-------------\t|--------------------------- |\n| 1.x.x       \t| Pharo 70, 80, 90, 10, 11   |\n\n## Contact\n\nIf you have any questions or problems do not hesitate to open an issue or contact cyril (a) ferlicot.me \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjecisc%2FGitBridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjecisc%2FGitBridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjecisc%2FGitBridge/lists"}