2013Q2 GP: Next Release of Pinto With Key Features

Category: (none)

Comments (3)


UPDATE: The features outlined in this grant proposal have alaready been completed. However, the grant proposal still stands with these features instead:



  • Extend diff command to compare specific revisions


  • Create new command to merge stacks




Inch-stones for feature 1 (Extend diff command to compare specific revisions)


Determine command-line notation for specifying revisions

For example foo@af23e6 would mean stack "foo" at revision "af23e6". And/or foo@-1 would mean stack "foo" at the first revision prior to the HEAD.

Implement applicaiton logic to compare revisions

The code for creating the diff is already written, so this is mostly about wiring the command-line interface to the application back-end.


Inch-stones for feature 2 (Create new command to merge stacks)



Determine the semantics of merging stacks

It isn't obvious what it means to "merge" a stack. Michael Schwern has already proposed his vision here.

Implement automatic merging logic

Once the semantics of a merge are decided, then I can go ahead with implementing the "merge" command. Automatic merge strategies could include things like "accept newer" or "accept mine" or "accept theirs".

Implement conflict resolution mechanism

When automatic merging is impossible, the user needs some mechanism for resolving conflicts manually. Ideally, Pinto could provide an interactive mechanism for choosing.


The Perl community needs more well thought out and documented tools like Pinto. I think this is worth supporting.


I think this is well worth funding (and more so than my own proposal).


Sign in to add comment