status of Git experiments

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

status of Git experiments

Nick
Hi Dale,

What is the state of your Git experimentation? We've a UK Smalltalk
meeting on Monday and Frank and I thought it would be interesting to
demo your Git integration and solicit feedback.

Looking at the how other open-source projects enable collaboration
through forking and GitHub pull requests [1], it feels like we're
missing a trick by not being able to use such infrastructure if we
choose... so we're both keen to look at anything you have.

Cheers

Nick

[1] https://github.com/features/projects/codereview
Reply | Threaded
Open this post in threaded view
|

Re: status of Git experiments

Dale Henrichs
Nick,

Glad you asked ... I'm going full bore on development of the project.

I've got a Sample project[1] up on GitHub where I showcase the current thinking on overall project structure. I've published a gist, that shows the current thinking on the directory structure for a project[2], another gist that shows examples of the Metacello scripting API[3], and yet another gist lists my basic assumptions about using git for Smalltalk source management[5].

I have been using github as the repository of record for the development of this project. I've pushed the Metacello repository[6] up to github and have been actively using it, and I encourage you to follow the project if you are interested in watching the detailed progress:).

The filetree project[7] is where the Monticello package to disk mappings is being managed. To bootstrap my work follow the instructions in this gist[8]. Note that the working projects metacello and filetree use a different structure than the one that I'm proposing (the repository directory is the root of the Monticello repository).

I think it would be very interesting if you and Frank used github to put together your demo. The HEAD of the Sample project cannot be loaded using filetree as I munged it to show off what I would like the structure to be, but there are earlier versions of of the project (in particular I've used a tag to mark the version that can be loaded and played with:

  "download  version of 1.2 the sample project, i.e., download from github, but don't load Sample project"
  Metacello new
    project: 'Sample';
    repository: 'github://dalehenrich/sample:1.2/repository';
    get.

  "load version 1.2 of the sample project, i.e., download from github and load sample project code into image"
  Metacello new
    project: 'Sample';
    repository: 'github://dalehenrich/sample:1.2/repository';
    load.

We could collaborate on a set of gists for the demo and I can provide patches that fix any bugs you might hit ... perhaps you should fork the metacello, sample and filetree projects?

You can also show off cloning of the sample repository, where you can save your work to the git repository then commit and push your work back up to your github fork ...

I have not hooked up the git work of Max Leske and Camillo Bruni, so you need to sue the command line for doing the git operations ...

Dale

[1] https://github.com/dalehenrich/sample
[2] https://gist.github.com/1892114
[3] https://gist.github.com/1892052
[4] https://github.com/dalehenrich/sample/blob/master/Sample.source/README.md
[5] https://gist.github.com/1893955
[6] https://github.com/dalehenrich/metacello
[7] https://github.com/dalehenrich/filetree
[8] https://gist.github.com/1894011
----- Original Message -----
| From: "Nick Ager" <[hidden email]>
| To: "Metacello" <[hidden email]>
| Sent: Thursday, February 23, 2012 7:16:15 AM
| Subject: [Metacello] status of Git experiments
|
| Hi Dale,
|
| What is the state of your Git experimentation? We've a UK Smalltalk
| meeting on Monday and Frank and I thought it would be interesting to
| demo your Git integration and solicit feedback.
|
| Looking at the how other open-source projects enable collaboration
| through forking and GitHub pull requests [1], it feels like we're
| missing a trick by not being able to use such infrastructure if we
| choose... so we're both keen to look at anything you have.
|
| Cheers
|
| Nick
|
| [1] https://github.com/features/projects/codereview
|
Reply | Threaded
Open this post in threaded view
|

Re: status of Git experiments

Nick
Dale,

Thanks for the detailed information. I'll study it more depth over the
weekend. I am really interested in git-based VC for Smalltalk, but
won't be able to devote much time to it.

> I think it would be very interesting if you and Frank used github to put together your demo. The HEAD of the Sample project cannot be loaded using filetree as I munged it to show off what I would like the structure to be, but there are earlier versions of of the project (in particular I've used a tag to mark the version that can be loaded and played with:
>
> We could collaborate on a set of gists for the demo and I can provide patches that fix any bugs you might hit ... perhaps you should fork the metacello, sample and filetree projects?
>
> You can also show off cloning of the sample repository, where you can save your work to the git repository then commit and push your work back up to your github fork

For Monday's meeting I'll try to put together a simple clone/modify/
commit/push workflow - I'll be more of a discussion than polished
presentation. I'll let you know how we get along.

Thanks

Nick
Reply | Threaded
Open this post in threaded view
|

Re: status of Git experiments

Dale Henrichs
Sounds cool!

I'll keep an eye on the mailing list over the weekend and will help with any issues that might pop up ...

Dale

----- Original Message -----
| From: "Nick Ager" <[hidden email]>
| To: "Metacello" <[hidden email]>
| Sent: Friday, February 24, 2012 6:28:24 AM
| Subject: [Metacello] Re: status of Git experiments
|
| Dale,
|
| Thanks for the detailed information. I'll study it more depth over
| the
| weekend. I am really interested in git-based VC for Smalltalk, but
| won't be able to devote much time to it.
|
| > I think it would be very interesting if you and Frank used github
| > to put together your demo. The HEAD of the Sample project cannot
| > be loaded using filetree as I munged it to show off what I would
| > like the structure to be, but there are earlier versions of of the
| > project (in particular I've used a tag to mark the version that
| > can be loaded and played with:
| >
| > We could collaborate on a set of gists for the demo and I can
| > provide patches that fix any bugs you might hit ... perhaps you
| > should fork the metacello, sample and filetree projects?
| >
| > You can also show off cloning of the sample repository, where you
| > can save your work to the git repository then commit and push your
| > work back up to your github fork
|
| For Monday's meeting I'll try to put together a simple clone/modify/
| commit/push workflow - I'll be more of a discussion than polished
| presentation. I'll let you know how we get along.
|
| Thanks
|
| Nick
|
Reply | Threaded
Open this post in threaded view
|

Re: status of Git experiments

Nick
Hi Dale,

I'm sure I've missed it in your detailed instructions - but can't find
the details. How can I download the Metacello scripting support so
that I can execute:

Metacello new
  project: 'Sample';
  repository: 'github://dalehenrich/sample:master';
  load.

Thanks

Nick

On Feb 24, 5:20 pm, Dale Henrichs <[hidden email]> wrote:

> Sounds cool!
>
> I'll keep an eye on the mailing list over the weekend and will help with any issues that might pop up ...
>
> Dale
>
>
>
>
>
>
>
> ----- Original Message -----
>
> | From: "Nick Ager" <[hidden email]>
> | To: "Metacello" <[hidden email]>
> | Sent: Friday, February 24, 2012 6:28:24 AM
> | Subject: [Metacello] Re: status of Git experiments
> |
> | Dale,
> |
> | Thanks for the detailed information. I'll study it more depth over
> | the
> | weekend. I am really interested in git-based VC for Smalltalk, but
> | won't be able to devote much time to it.
> |
> | > I think it would be very interesting if you and Frank used github
> | > to put together your demo. The HEAD of the Sample project cannot
> | > be loaded using filetree as I munged it to show off what I would
> | > like the structure to be, but there are earlier versions of of the
> | > project (in particular I've used a tag to mark the version that
> | > can be loaded and played with:
> | >
> | > We could collaborate on a set of gists for the demo and I can
> | > provide patches that fix any bugs you might hit ... perhaps you
> | > should fork the metacello, sample and filetree projects?
> | >
> | > You can also show off cloning of the sample repository, where you
> | > can save your work to the git repository then commit and push your
> | > work back up to your github fork
> |
> | For Monday's meeting I'll try to put together a simple clone/modify/
> | commit/push workflow - I'll be more of a discussion than polished
> | presentation. I'll let you know how we get along.
> |
> | Thanks
> |
> | Nick
> |
Reply | Threaded
Open this post in threaded view
|

Re: status of Git experiments

Dale Henrichs
Nick,

The bootstrapping instructions for filetree/metacello are here[1].

You'll want to use the following scripting expressions to work with the Sample repository:

  "download  version of 1.2 the sample project, i.e., download from github, but don't load Sample project"
  Metacello new
    project: 'Sample';
    repository: 'github://dalehenrich/sample:1.2/repository';
    get.

  "load version 1.2 of the sample project, i.e., download from github and load sample project code into image"
  Metacello new
    project: 'Sample';
    repository: 'github://dalehenrich/sample:1.2/repository';
    load.

These expressions specify version 1.2 which is the version of the sample project whose structure matches the structure that filetree is able to load.

The HEAD of the master branch is where I've been trying out alternate directory structures and I haven't bothered to keep the reader alive ... I'm waiting until we have a good idea of which direction we are heading:) before writing too much more code.

Sebastian tried the instructions out yesterday, so it should work out of the box ... I've been using Pharo1.3 ...

Dale

[1] https://gist.github.com/1894011
----- Original Message -----
| From: "Nick Ager" <[hidden email]>
| To: "Metacello" <[hidden email]>
| Sent: Monday, February 27, 2012 10:26:24 AM
| Subject: [Metacello] Re: status of Git experiments
|
| Hi Dale,
|
| I'm sure I've missed it in your detailed instructions - but can't
| find
| the details. How can I download the Metacello scripting support so
| that I can execute:
|
| Metacello new
|   project: 'Sample';
|   repository: 'github://dalehenrich/sample:master';
|   load.
|
| Thanks
|
| Nick
|
| On Feb 24, 5:20 pm, Dale Henrichs <[hidden email]> wrote:
| > Sounds cool!
| >
| > I'll keep an eye on the mailing list over the weekend and will help
| > with any issues that might pop up ...
| >
| > Dale
| >
| >
| >
| >
| >
| >
| >
| > ----- Original Message -----
| >
| > | From: "Nick Ager" <[hidden email]>
| > | To: "Metacello" <[hidden email]>
| > | Sent: Friday, February 24, 2012 6:28:24 AM
| > | Subject: [Metacello] Re: status of Git experiments
| > |
| > | Dale,
| > |
| > | Thanks for the detailed information. I'll study it more depth
| > | over
| > | the
| > | weekend. I am really interested in git-based VC for Smalltalk,
| > | but
| > | won't be able to devote much time to it.
| > |
| > | > I think it would be very interesting if you and Frank used
| > | > github
| > | > to put together your demo. The HEAD of the Sample project
| > | > cannot
| > | > be loaded using filetree as I munged it to show off what I
| > | > would
| > | > like the structure to be, but there are earlier versions of of
| > | > the
| > | > project (in particular I've used a tag to mark the version that
| > | > can be loaded and played with:
| > | >
| > | > We could collaborate on a set of gists for the demo and I can
| > | > provide patches that fix any bugs you might hit ... perhaps you
| > | > should fork the metacello, sample and filetree projects?
| > | >
| > | > You can also show off cloning of the sample repository, where
| > | > you
| > | > can save your work to the git repository then commit and push
| > | > your
| > | > work back up to your github fork
| > |
| > | For Monday's meeting I'll try to put together a simple
| > | clone/modify/
| > | commit/push workflow - I'll be more of a discussion than polished
| > | presentation. I'll let you know how we get along.
| > |
| > | Thanks
| > |
| > | Nick
| > |
|
Reply | Threaded
Open this post in threaded view
|

Re: status of Git experiments

Nick
Hi Dale,

Some feedback from the meeting.

Firstly I'm afraid I didn't have as much time as I wanted to prepare
and unfortunately family illness meant Frank had to bow out. That
said, here are some thoughts from the meeting:
1) Smalltalkers who have not been exposed to Git and particularly
GitHub are not perhaps as aware of the investment that has gone into
the tooling around Git and GitHub as programmers in other languages
might.... so when presenting I should have started with an overview of
Git and GitHub before launching into the Smalltalk integration.
2) so... the tooling and workflow (ease of forking/pull requests/issue
tracking/repository documentation etc etc) are not as immediately
apparent as I expected.
3) At the meeting are developers working Pharo, Squeak, VW, and VA
Smalltalks.
4) It's easy to get side-tracked into a trip to the Smalltalk museum
of challenged VCS integrations.
5) Dependency management and VC are often conflated.
6) Discussions around interoperability of VC can easily be diverted
into an endless discussion of incompatibility of namespaces & packages
between systems.
7) Browsing the code in GitHub with the one-method per file was felt
my some to be too much of a compromise, by others the ability to track
changes at a method level within the web GUI was a major win.
8) Some were excited by the potential of GitHub integration others are
happy with their current systems.

Sorry there wasn't more concrete feedback,

Nick

On Feb 27, 6:42 pm, Dale Henrichs <[hidden email]> wrote:

> Nick,
>
> The bootstrapping instructions for filetree/metacello are here[1].
>
> You'll want to use the following scripting expressions to work with the Sample repository:
>
>   "download  version of 1.2 the sample project, i.e., download from github, but don't load Sample project"
>   Metacello new
>     project: 'Sample';
>     repository: 'github://dalehenrich/sample:1.2/repository';
>     get.
>
>   "load version 1.2 of the sample project, i.e., download from github and load sample project code into image"
>   Metacello new
>     project: 'Sample';
>     repository: 'github://dalehenrich/sample:1.2/repository';
>     load.
>
> These expressions specify version 1.2 which is the version of the sample project whose structure matches the structure that filetree is able to load.
>
> The HEAD of the master branch is where I've been trying out alternate directory structures and I haven't bothered to keep the reader alive ... I'm waiting until we have a good idea of which direction we are heading:) before writing too much more code.
>
> Sebastian tried the instructions out yesterday, so it should work out of the box ... I've been using Pharo1.3 ...
>
> Dale
>
> [1]https://gist.github.com/1894011
>
>
>
>
>
>
>
> ----- Original Message -----
> | From: "Nick Ager" <[hidden email]>
> | To: "Metacello" <[hidden email]>
> | Sent: Monday, February 27, 2012 10:26:24 AM
> | Subject: [Metacello] Re: status of Git experiments
> |
> | Hi Dale,
> |
> | I'm sure I've missed it in your detailed instructions - but can't
> | find
> | the details. How can I download the Metacello scripting support so
> | that I can execute:
> |
> | Metacello new
> |   project: 'Sample';
> |   repository: 'github://dalehenrich/sample:master';
> |   load.
> |
> | Thanks
> |
> | Nick
> |
> | On Feb 24, 5:20 pm, Dale Henrichs <[hidden email]> wrote:
> | > Sounds cool!
> | >
> | > I'll keep an eye on the mailing list over the weekend and will help
> | > with any issues that might pop up ...
> | >
> | > Dale
> | >
> | >
> | >
> | >
> | >
> | >
> | >
> | > ----- Original Message -----
> | >
> | > | From: "Nick Ager" <[hidden email]>
> | > | To: "Metacello" <[hidden email]>
> | > | Sent: Friday, February 24, 2012 6:28:24 AM
> | > | Subject: [Metacello] Re: status of Git experiments
> | > |
> | > | Dale,
> | > |
> | > | Thanks for the detailed information. I'll study it more depth
> | > | over
> | > | the
> | > | weekend. I am really interested in git-based VC for Smalltalk,
> | > | but
> | > | won't be able to devote much time to it.
> | > |
> | > | > I think it would be very interesting if you and Frank used
> | > | > github
> | > | > to put together your demo. The HEAD of the Sample project
> | > | > cannot
> | > | > be loaded using filetree as I munged it to show off what I
> | > | > would
> | > | > like the structure to be, but there are earlier versions of of
> | > | > the
> | > | > project (in particular I've used a tag to mark the version that
> | > | > can be loaded and played with:
> | > | >
> | > | > We could collaborate on a set of gists for the demo and I can
> | > | > provide patches that fix any bugs you might hit ... perhaps you
> | > | > should fork the metacello, sample and filetree projects?
> | > | >
> | > | > You can also show off cloning of the sample repository, where
> | > | > you
> | > | > can save your work to the git repository then commit and push
> | > | > your
> | > | > work back up to your github fork
> | > |
> | > | For Monday's meeting I'll try to put together a simple
> | > | clone/modify/
> | > | commit/push workflow - I'll be more of a discussion than polished
> | > | presentation. I'll let you know how we get along.
> | > |
> | > | Thanks
> | > |
> | > | Nick
> | > |
> |
Reply | Threaded
Open this post in threaded view
|

Re: status of Git experiments

Dale Henrichs
Hey Nick,

Thanks for the effort and the report ....

I guess at some level I'm not surprised. When folks are happy with what they have, they see no reason to change and frankly there is no reason to change. This projects is aimed at the folks who aren't happy...

If I haven't been clear before my plan is to "seamlessly integrate" git/svn/github support into Metacello. This means:

  If a project is managed on github, I won't have to install
  gith to be able to LOAD the code

  If I want to participate in the development of a project managed
  on github I will have to install and use git

  If I want to use a project managed on SqueakSource as part of
  my project managed on github, I can do so

One of the reasons that I want to preserve the package ancestry is that I expect that folks will want to try out git/github and I don't want them to be locked into git/github once they've made the move.

git is an odd beast that takes a while to get used to (like Smalltalk:) and it isn't for the feint of heart, although there are a ton of resources on the web for using git/github. Stackoverflow has

  13842 questions on git
   2254 questions on github
    384 questions on smalltalk

So the feint of heart will be able to learn to use git/github if they want to.

Thanks again,

Dale

----- Original Message -----
| From: "Nick Ager" <[hidden email]>
| To: "Metacello" <[hidden email]>
| Sent: Tuesday, February 28, 2012 3:55:12 AM
| Subject: [Metacello] Re: status of Git experiments
|
| Hi Dale,
|
| Some feedback from the meeting.
|
| Firstly I'm afraid I didn't have as much time as I wanted to prepare
| and unfortunately family illness meant Frank had to bow out. That
| said, here are some thoughts from the meeting:
| 1) Smalltalkers who have not been exposed to Git and particularly
| GitHub are not perhaps as aware of the investment that has gone into
| the tooling around Git and GitHub as programmers in other languages
| might.... so when presenting I should have started with an overview
| of
| Git and GitHub before launching into the Smalltalk integration.
| 2) so... the tooling and workflow (ease of forking/pull
| requests/issue
| tracking/repository documentation etc etc) are not as immediately
| apparent as I expected.
| 3) At the meeting are developers working Pharo, Squeak, VW, and VA
| Smalltalks.
| 4) It's easy to get side-tracked into a trip to the Smalltalk museum
| of challenged VCS integrations.
| 5) Dependency management and VC are often conflated.
| 6) Discussions around interoperability of VC can easily be diverted
| into an endless discussion of incompatibility of namespaces &
| packages
| between systems.
| 7) Browsing the code in GitHub with the one-method per file was felt
| my some to be too much of a compromise, by others the ability to
| track
| changes at a method level within the web GUI was a major win.
| 8) Some were excited by the potential of GitHub integration others
| are
| happy with their current systems.
|
| Sorry there wasn't more concrete feedback,
|
| Nick
|
| On Feb 27, 6:42 pm, Dale Henrichs <[hidden email]> wrote:
| > Nick,
| >
| > The bootstrapping instructions for filetree/metacello are here[1].
| >
| > You'll want to use the following scripting expressions to work with
| > the Sample repository:
| >
| >   "download  version of 1.2 the sample project, i.e., download from
| >   github, but don't load Sample project"
| >   Metacello new
| >     project: 'Sample';
| >     repository: 'github://dalehenrich/sample:1.2/repository';
| >     get.
| >
| >   "load version 1.2 of the sample project, i.e., download from
| >   github and load sample project code into image"
| >   Metacello new
| >     project: 'Sample';
| >     repository: 'github://dalehenrich/sample:1.2/repository';
| >     load.
| >
| > These expressions specify version 1.2 which is the version of the
| > sample project whose structure matches the structure that filetree
| > is able to load.
| >
| > The HEAD of the master branch is where I've been trying out
| > alternate directory structures and I haven't bothered to keep the
| > reader alive ... I'm waiting until we have a good idea of which
| > direction we are heading:) before writing too much more code.
| >
| > Sebastian tried the instructions out yesterday, so it should work
| > out of the box ... I've been using Pharo1.3 ...
| >
| > Dale
| >
| > [1]https://gist.github.com/1894011
| >
| >
| >
| >
| >
| >
| >
| > ----- Original Message -----
| > | From: "Nick Ager" <[hidden email]>
| > | To: "Metacello" <[hidden email]>
| > | Sent: Monday, February 27, 2012 10:26:24 AM
| > | Subject: [Metacello] Re: status of Git experiments
| > |
| > | Hi Dale,
| > |
| > | I'm sure I've missed it in your detailed instructions - but can't
| > | find
| > | the details. How can I download the Metacello scripting support
| > | so
| > | that I can execute:
| > |
| > | Metacello new
| > |   project: 'Sample';
| > |   repository: 'github://dalehenrich/sample:master';
| > |   load.
| > |
| > | Thanks
| > |
| > | Nick
| > |
| > | On Feb 24, 5:20 pm, Dale Henrichs <[hidden email]> wrote:
| > | > Sounds cool!
| > | >
| > | > I'll keep an eye on the mailing list over the weekend and will
| > | > help
| > | > with any issues that might pop up ...
| > | >
| > | > Dale
| > | >
| > | >
| > | >
| > | >
| > | >
| > | >
| > | >
| > | > ----- Original Message -----
| > | >
| > | > | From: "Nick Ager" <[hidden email]>
| > | > | To: "Metacello" <[hidden email]>
| > | > | Sent: Friday, February 24, 2012 6:28:24 AM
| > | > | Subject: [Metacello] Re: status of Git experiments
| > | > |
| > | > | Dale,
| > | > |
| > | > | Thanks for the detailed information. I'll study it more depth
| > | > | over
| > | > | the
| > | > | weekend. I am really interested in git-based VC for
| > | > | Smalltalk,
| > | > | but
| > | > | won't be able to devote much time to it.
| > | > |
| > | > | > I think it would be very interesting if you and Frank used
| > | > | > github
| > | > | > to put together your demo. The HEAD of the Sample project
| > | > | > cannot
| > | > | > be loaded using filetree as I munged it to show off what I
| > | > | > would
| > | > | > like the structure to be, but there are earlier versions of
| > | > | > of
| > | > | > the
| > | > | > project (in particular I've used a tag to mark the version
| > | > | > that
| > | > | > can be loaded and played with:
| > | > | >
| > | > | > We could collaborate on a set of gists for the demo and I
| > | > | > can
| > | > | > provide patches that fix any bugs you might hit ... perhaps
| > | > | > you
| > | > | > should fork the metacello, sample and filetree projects?
| > | > | >
| > | > | > You can also show off cloning of the sample repository,
| > | > | > where
| > | > | > you
| > | > | > can save your work to the git repository then commit and
| > | > | > push
| > | > | > your
| > | > | > work back up to your github fork
| > | > |
| > | > | For Monday's meeting I'll try to put together a simple
| > | > | clone/modify/
| > | > | commit/push workflow - I'll be more of a discussion than
| > | > | polished
| > | > | presentation. I'll let you know how we get along.
| > | > |
| > | > | Thanks
| > | > |
| > | > | Nick
| > | > |
| > |
|