Thread (6 messages) flat view 6 messages, 3 authors, 2016-06-15

Re: What's cooking in git.git (Apr 2014, #09; Tue, 29)

From: John Keeping <hidden>
Date: 2016-06-15 23:01:03

On Wed, May 07, 2014 at 11:56:18AM -0700, Junio C Hamano wrote:
John Keeping [off-list ref] writes:
quoted
On Tue, May 06, 2014 at 05:01:59PM -0700, Junio C Hamano wrote:
...
quoted
Another thing to keep in mind is that we need to ensure that we give
a good way for these third-party tools to integrate well with the
core Git tools to form a single toolchest for the users.  I would
love to be able to do

    $ (cd git.git && make install)
    $ (cd git-imerge.git && make install)

and then say "git imerge", "git --help imerge", etc.  The same for
the remote helpers that we may be splitting out of my tree into
their own stand-alone projects.
This can already work given suitable installation.  With
git-integration[1] I can type `git help integration` and it shows me the
man page in the same way that `git help commit` does.  When I manually
linked the HTML file to the right place `git help -w integration` worked
as well.
That "when I manually" part is what I meant by "we give a good way
for these third-party tools" above, and "make it really easy to
install these third-party tools" in the remaining part of the
message you are responding to.
quoted
I think this is enough...
Having thought about it a bit more after reading Felipe's reply, it
would be nice if there were some way for third-party tools to install
HTML documentation without relying on `git --html-path` but I cannot see
an obvious way to do that as there isn't a standard $HTML_PATH to match
$MAN_PATH and $PATH.

I've never tried `git help --info` until this thread, but I think we
could make some trivial improvements to that in order to support .info
documentation for third-party tools.
The reason why I CC'ed Michael was primarily because I thought you
were not one of those third-party tools maintainers (and secondarily
I am a fairly big fan of imerge), but it is good to hear your
opinion as another third-party provider.  Your git-integrate might
turn into something I could augment my workflow with with some
additions.  What is missing (I only read the full manual page at
http://johnkeeping.github.io/git-integration/git-integration.html)
to support my workflow seems to be:

 - specifying a merge strategy per branch being merged;
This is already supported by the "merge" instruction:

	If any options are given after the ref (and on the same line)
	then these are passed to git merge. This may be useful for
	specifying an alternative merge strategy for a branch.
 - support evil merges or picking a fix-up commit;
I have an implementation of this on a branch, but have never merged it
because it's not something I need to do often and it is very hard to
support for git-integration's "status" output.

One of my primary use cases for git-integration involves pulling
together branches owned by others (either in the same repository or by
having fetched from their repositories); in this case it is interesting
to see if/how a branch has changed since the last time the integration
branch was built.  This also handles changes to the instruction sheet
without an immediate rebuild.

I have not found a good way of figuring out whether a fixup commit has
been applied and squashed into a merge) so I have let the branch sit
there awaiting a perfect solution (which I doubt exists).  It may be
that the status of a fixup is unimportant, so it could just be marked as
unknown; I am mostly convinced that marking it as unknown is going to be
better than an heuristic that is right most of the time.
 - leaving an empty commit only to leave comment in the history.
This would be easy to add.
and until that happens, I'll keep using the Reintegrate script found
in my 'todo' branch.
When I originally wrote git-integration I purposefully did not target
your workflow because I (perhaps wrongly) assumed that the interaction
between the different integration branches would mean that Git was
better served sticking to the custom Reintegrate script.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help