<commit_before>===========
git-irebase
===========


Overview
========

``git-irebase`` can be installed and used by anybody to replace ``git-rebase``
on a branch.

  ``irebase`` for incremental rebase. So instead rebasing your patches to 
  the new ref of your tracked branch, it'll make sure the rebase is incrementally
  done on each new commit of the tracked branch.
  This ensures that you'll individualise and identify smallest conflict possible.
  And some conflict scenario are suceptible to be resolved automatically.

``irebase-manager`` is intended to be executed on a server (can be indenpendant)
on a regular basis (with cron). It'll perform a ``git-irebase`` on a list of
repositories and branches.

  This script is intended to be executed on an instance that will run periodically
  and warn you when it can't rebase automatically to the target branch. It also
  take care to push back the reference.


Maturity
========

This code is in alpha stage. Provided only for sharing ideas.


Dependencies
============

Both requires the `kal-shlib-pretty`_ package.

.. _kal-shlib-pretty: https://github.com/vaab/kal-shlib-pretty

``git-irebase`` doesn't have much more dependency than ``bash`` and ``git``.

``rebase-walk`` requires ``shyaml`` to be installed.


Config file
===========

The config file is only for ``rebase-walk``. It is located in ``/etc/rebase-walk.rc``.
It uses ``yaml``.

For example::

    work-dir: /srv/irebase-manager
    send-report:
      mail:
        recipients:
          - <EMAIL>
    irebase:
      - odoo
        - walking-branch:
            branch-name: 0k/8.0-odoo-auto-rebase<commit_msg>fix: doc: wrong YAML syntax in config file.<commit_after>===========
git-irebase
===========


Overview
========

``git-irebase`` can be installed and used by anybody to replace ``git-rebase``
on a branch.

  ``irebase`` for incremental rebase. So instead rebasing your patches to 
  the new ref of your tracked branch, it'll make sure the rebase is incrementally
  done on each new commit of the tracked branch.
  This ensures that you'll individualise and identify smallest conflict possible.
  And some conflict scenario are suceptible to be resolved automatically.

``irebase-manager`` is intended to be executed on a server (can be indenpendant)
on a regular basis (with cron). It'll perform a ``git-irebase`` on a list of
repositories and branches.

  This script is intended to be executed on an instance that will run periodically
  and warn you when it can't rebase automatically to the target branch. It also
  take care to push back the reference.


Maturity
========

This code is in alpha stage. Provided only for sharing ideas.


Dependencies
============

Both requires the `kal-shlib-pretty`_ package.

.. _kal-shlib-pretty: https://github.com/vaab/kal-shlib-pretty

``git-irebase`` doesn't have much more dependency than ``bash`` and ``git``.

``rebase-walk`` requires ``shyaml`` to be installed.


Config file
===========

The config file is only for ``rebase-walk``. It is located in ``/etc/rebase-walk.rc``.
It uses ``yaml``.

For example::

    work-dir: /srv/irebase-manager
    send-report:
      mail:
        recipients:
          - <EMAIL>
    irebase:
      odoo
        - walking-branch:
            branch-name: 0k/8.0-odoo-auto-rebase
{'fraction_non_alphanumeric': 0.1206060606060606, 'fraction_numerical': 0.0018181818181818182, 'mean_word_length': 3.491156462585034, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7072534', 'n_tokens_mistral': 991, 'n_tokens_neox': 926, 'n_words': 406}