threads / announce / 35260

[ANNOUNCE] git reintegrate 0.1; manager of integration branches

Subject: [ANNOUNCE] git reintegrate 0.1; manager of integration branches

## tl;dr

3 messages between Nov 1, 2013 and Nov 2, 2013.

replies: 2people: 2as markdown or json

Felipe Contreras· Nov 1, 2013, 12:35 UTC · lore
Hi,

git reintegrate is a helper tool to manage integration branches, it has all the options of other known tools.

This is a rewrite of John Keeping's git-integration in Ruby, it has essentially the same features and passes all the git-integration tests, but it has other features.

One feature that is missing from git-integration is the ability to parse existing integration branches.

To give a try you can do:
  git clone https://github.com/gitster/git/
  cd git
  git fetch -u origin 'refs/tags/*:refs/tags/*' 'refs/heads/*:refs/heads/*'
  git checkout pu
  git reintegrate --generate pu master
Which will generate the integration instructions for you:
  % git reintegrate --cat
  base master
  merge jl/submodule-mv
    Moving a regular file in a repository with a .gitmodules file was
    producing a warning 'Could not find section in .gitmodules where
    path=<filename>'.
  merge ap/remote-hg-unquote-cquote
    A fast-import stream expresses a pathname with funny characters by
    quoting them in C style; remote-hg remote helper forgot to unquote
    such a path.
  merge jk/for-each-ref-skip-parsing
  merge jk/pack-corruption-post-mortem
  merge jk/reset-p-current-head-fix
    "git reset -p HEAD" has codepath to special case it from resetting
    to contents of other commits, but recent change broke it.
  ...

It also has support for "evil merges", so it should be perfectly usable for git.git maintenance.

You can edit the instructions with `git reintegrate --edit`.
The simplest way to begin an integration branch is with:
  git reintegrate --create pu master
  git reintegrate --add=branch1 --add=branch2 --add=branch3

To generate the integration branch run `git reintegrate --rebuild`, if there are merge conflicts, solve them and continue with `git reintegrate --continue`.

Despite having more features, the code is actually smaller thanks to Ruby awesomeness.

Enjoy.
https://github.com/felipec/git-reintegrate
-- 
Felipe Contreras
John Keeping· Nov 2, 2013, 11:00 UTC · re: Felipe Contreras · lore

Re: [ANNOUNCE] git reintegrate 0.1; manager of integration branches

On Fri, Nov 01, 2013 at 06:35:39AM -0600, Felipe Contreras wrote:
> One feature that is missing from git-integration is the ability to
> parse existing integration branches.
Nice - I'd never thought of doing this.
> It also has support for "evil merges", so it should be perfectly
> usable for git.git maintenance.

By this, do you mean that you have an ability to squash a fixup into the merge? If so, how do you handle this in the status display - I've had a WIP branch for a while but haven't come up with a satisfactory way of displaying the status of a fixup.

Felipe Contreras· Nov 2, 2013, 11:18 UTC · re: John Keeping · lore

Re: [ANNOUNCE] git reintegrate 0.1; manager of integration branches

On Sat, Nov 2, 2013 at 5:00 AM, John Keeping <john@keeping.me.uk> wrote:
Show 5 quoted lines
> On Fri, Nov 01, 2013 at 06:35:39AM -0600, Felipe Contreras wrote:
>> One feature that is missing from git-integration is the ability to
>> parse existing integration branches.
>
> Nice - I'd never thought of doing this.

I tried to provide all the functionality of todo:Reintegrate, or at least the important one.

Show 7 quoted lines
>> It also has support for "evil merges", so it should be perfectly
>> usable for git.git maintenance.
>
> By this, do you mean that you have an ability to squash a fixup into the
> merge?  If so, how do you handle this in the status display - I've had a
> WIP branch for a while but haven't come up with a satisfactory way of
> displaying the status of a fixup.

Yes, I did basically what you did, however, I skipped the status part. I think it's more important to be able to do these fixups, even if they don't show on the status.

And to be honest I don't care much about the status feature in general.
Cheers.
-- 
Felipe Contreras

← back to recent threads