Skip to content

Instantly share code, notes, and snippets.

View dalehenrich's full-sized avatar

Dale Henrichs dalehenrich

View GitHub Profile
@jbenet
jbenet / simple-git-branching-model.md
Last active April 9, 2024 03:31
a simple git branching model

a simple git branching model (written in 2013)

This is a very simple git workflow. It (and variants) is in use by many people. I settled on it after using it very effectively at Athena. GitHub does something similar; Zach Holman mentioned it in this talk.

Update: Woah, thanks for all the attention. Didn't expect this simple rant to get popular.

@dalehenrich
dalehenrich / bootstrap.st
Created March 12, 2012 20:30
Bootstrapping FileTree support into Pharo image
"Note that these instructions apply to Phase1 ... not yet alpha, so take care:)
Assuming Pharo 1.3"
"Bootstrap filetree code"
Gofer new
url: 'http://ss3.gemstone.com/ss/FileTree';
package: 'ConfigurationOfFileTree';
load.
((Smalltalk at: #ConfigurationOfFileTree) project version: '1.0') load.
@dalehenrich
dalehenrich / setupPharo14Sample.st
Created March 2, 2012 19:27
Replace repositoryGroups for workingCopies with filetree: equivalent
"cd to a likely spot on disk and run the following at a shell prompt (after installing git):
git clone -b develop https://github.com/Phariverse/PharoCore.git
then set pharoCoreRepoPath below to path to repository directory inside PharoCore git repository.
Finally run the expressions in this workspace to connect your image up to the correct repositories.
"
| pharoCoreRepoPath metacelloRepository filetreeRepository
@dalehenrich
dalehenrich / bootstrapGit.st
Created February 23, 2012 17:51
Bootstrap git support into a Pharo image
"Note that the the git work has not even achieved alpha, yet, so don't
bootstrap into an image that you care about:)
Assuming Pharo 1.3"
"Bootstrap filetree code"
Gofer new
url: 'http://ss3.gemstone.com/ss/FileTree';
package: 'ConfigurationOfFileTree';
load.
@dalehenrich
dalehenrich / smalltalkProjectSructure.md
Created February 23, 2012 10:19
Proposed Smalltalk project directory structure

##Monticello Package Structure

The basic idea is to store individual methods in files so that git can manage method-level history. The split between classes and extensions in the snapshot directory is differentiate between classes defined in a package and extension methods defined in the package:

+-Sample-Core.pkg\
  +-snapshot\
  | +-classes\
  | | +-SampleCore.class\
  | |   +-SampleCore.st
@dalehenrich
dalehenrich / MetacelloScripting.st
Created February 23, 2012 10:02
Sample of Metacello Scripting API
"download HEAD of master branch of the sample project, i.e., download from github, but don't load Sample project into image"
Metacello new
project: 'Sample';
repository: 'github://dalehenrich/sample:master/core';
get.
"load HEAD of master branch of the sample project, i.e., download from github, and load Sample project into image"
Metacello new
project: 'Sample';
repository: 'github://dalehenrich/sample:master/core';