Web lists-archives.com

Bug#863354: ITP: autoforwardportergit -- Tool for automatically merging local changes with new distro packages.




Package: wnpp
Severity: wishlist
Owner: plugwash <plugwash@xxxxxxxxxxx>

* Package name    : autoforwardportergit
  Version         : 0.1
  Upstream Author : Peter Michael Green <plugwash@xxxxxxxxxx>
* URL             : http://github.com/plugwash/autoforwardportergit/
* License         : (MIT)
  Programming Lang: (Python3 and bash)
  Description     : Tool for automatically merging local changes with new distro packages.

Often there is a need to maintain downstream changes to a package with a new version from the upstream
distro. Doing this manually is not difficult but it gets to be a PITA for more than a handful of
packages.

autoforwardportergit and the related tool dscdirtogit (which I intend to package as part of the same
source) are built to automate this process.

reprepro is used to create a local repo with both upstream and downstream versions of the packages.

dscdirtogit takes existing dscs (both upstream and downstream) and uses dgit to import them into a
git repo for each package. It uses the changelogs to determine the shape of the history. 

The actual autoforwardporter looks at package lists to determine when a merge is needed. The initial
merge is performed with git and then a series of "fixers" fixup the changelog and other common
conflicts. If the conflicts are fixed successfully dgit will be used to build a source package and
then sbuild will be used to build the package. 

If the conflicts are not fixed successfully the code complete with conflict markers will be committed
to a "working" branch so that a human can pick up where the automation left off.

The code currently works fine but before packaging I will need to move raspbian-specific assumptions
into a configuration file and move to a fhs-compliant file layout. I hope to work on this while at
Debconf.