* Thu Apr 03 2014 Markus Lehtonen tizen/0.6.8-20140403 - Cherry-picked config-parsing fixes from upstream * config: Don't pull in config defaults twice (Closes: #733759) * Test option parser fallbacks more thoroughly (Closes: #733759) * Wed Apr 02 2014 Markus Lehtonen tizen/0.6.8-20140402 - Revert "GitRepository/add_remote_repo: fix the 'tags' argument" Which caused an unwanted behavior of not fetching refs/heads at all -- only tags were fetched. * Thu Mar 06 2014 Markus Lehtonen tizen/0.6.8-20140306 - Rebase on top of upstream version 0.6.8 - Introduce git-rpm-ch tool. Initial version of the git-rpm-ch tool which is intended for maintaining RPM changelogs. Supports both spec files and separate "OBS style" changelog files. Implement '--tag' command line option (and other related options for signing) for creating and tagging a release. These correspond the tagging options in git-buildpackage-rpm. The git-buildpackage-rpm tool does not commit anything to git. However, in rpm-ch the '--tag' option causes the changelog modifications (and, all other staged changes) to be committed to git before creating the tag. This makes it possible to create a release and document the packaging/release tag name in the rpm changelog. - Changes to gbp-pq-rpm: * implement 'convert' subcommand. The new subcommand is intended to be a one-time-callable command for converting a package to use the "orphan-packaging" development model and git layout (where packaging files are maintained in a separate branch and code development in another branch). * implement '--import-files' command line option. For defining the packaging file(s) that will be imported into the development/patch-queue branch. By default, the local gbp conf files are imported (so that gbp sees the same settings on the development/pq branc as on the packaging branch). Files defined with this option will appear as one monolithic commit in the development/patch-queue branch. * implement --new-packaging-dir cmdline option. Used for setting the packaging directory to be used in the new orphan packaging branch. Defaults to --packaging-dir so that the gbp.conf files are more likely to work without modification. * fail gracefully on invalid config files * support '%(upstreamversion)s' as a replacable string in the pq branch name. - Changes to git-buildpackage-rpm * patch-export from development branch. Adds git-buildpackage-rpm --patch-export support for the 'orphan packaging' development model (where packaging files and development sources are kept in separate branches). New functionality: 1. If patch-export is enabled and gbp detects that the current branch has a development/patch-queue branch it exports the patches from there, instead of the tip of the packaging branch. 2. If gbp detects that the current (or exported) branch is a development/patch-queue branch it automatically enables patch-export and exports packaging files from the base branch (instead of the development/patch-queue branch. Also, add a new '--git-patch-export-rev' command line option with which the user can explicitly set the treeish from which patches are generated (i.e. HEAD..) * fix spec file vcs update when doing git-tag-only * change default export directory. So that the git working directory is not dirtied, by default. - Changes ti git-import-orig-rpm: * disable --merge by default. Merging upstream to packaging does not usually make sense with rpm packages. Merely, it can create confusion cause unapplicable patches to be generated. * implement --create-missing-branches option. * implement automatic downloading. Automatically try to download the archive if the archive filename points to a remote location. * get archive from spec file. Try to get archive path/filename from spec file if no file name is given on the command line. This should make version bumps more straightforward: just update version number in the spec file and run 'git-import-orig-rpm'. - git-import-orig: implement --create-missing-branches option. - Fixes and new features in GitRepository class * GitRepository/get_commit_info: correctly handle file renames/copies. * GitRepository.create_branch: add 'force' option * GitRepository.archive: add 'paths' option * GitRepository/git_command: strip stderr output in case of error. * GitRepository/add_remote_repo: fix the 'tags' argument. * GitRepository: allow interactive commands. * GitRepository: fix the 'edit' mode in commit methods. * GitRepository.commit_files: add committer_info and edit arguments. * GitRepository.commit_all: add committer_info argument. - Fixes and new features in internal rpm/spec support * rpm.SpecFile: add 'specpath' attribute * rpm: correctly handle 'NoSource' and 'NoPatch' tags in spec. * rpm: Implement spec_from_repo() helper function * rpm: track all "section" directives in spec file. * rpm: add gbp.rpm.changelog module. This new module contains basic containers and functionality for parsing and updating rpm changelogs. It is coupled with the rpm packaging policy class which now has definitions for rpm changelog formatting. * rpm: support for getting/setting changelog in spec. SpecFile objects now support reading and writing of the %changelog section. * rpm: store full path of spec file sources - Fix detection of prefix directory in tarballs gbs import failed to import tarball properly if paths in the archive were prefixed with "./". * Tue Jan 07 2014 Markus Lehtonen 0.6.8 - Rebase on top of upstream version 0.6.8 * Mon Dec 02 2013 Markus Lehtonen 0.6.6 - Rebase on top of upstream version 0.6.6 - UpstreamSource: fix archive prefix guessing - pq-rpm: create diff up to the last merge commit Before, merge commits broke patch generation, or, (most probably) caused the generated patches to be unapplicable (similar to how git-format-patch behaves). Now, changes up to the last merge commit are squashed into one diff if merge commits are found in the revision list from which patches are to be generated. Individual patches (one per commit) are generated from the last merge commit up to the exported revision. - pq-rpm: magic word HEAD for patch-squashing When given as the squash-point, 'HEAD' translates to the end-commit. This allows one to configure gbp to always squash all commits into one monolithic diff. * Thu Oct 17 2013 Markus Lehtonen 0.6.3 - buildpackage: support 'commit' variable for VCS tags - Clone a repository to a specific directory - Fix gbs clone failure if repo url is like host:repo.git - SpecFile.set_tag: change the default place for new tags - remove 'repo' param to adapt to changes of write_patch_file - pq: pass commit_info to format_patch() - pq: pass commit_info to format_patch() - pq.write_patch_file: drop unused argument - pq: fix generation of series file - common/pq: fix length of patch filenames - buildpackage: refactor prefix handling - tests: remove unused import in submodule tests - tests: upper case global variables in submodule tests - tests: add some docstrings to git submodule tests - tests: use eq_ and ok_ from nose tools in submodule tests - tests: use sanitize some submodule tests - pq-rpm: don't overwrite patches in the same series - pq: don't overwrite patches in the same series - rpm: support guessing spec file from git treeish - rpm.SpecFile: support parsing spec as raw text data - rpm: minor docstring fixes - rpm: change guess_spec() to return SpecFile object - GitRepository.list_tree: add 'paths' option - common/pq: support more flexible pq-branch naming - pq-rpm: drop unused 'tries' option - GitRepository: deprecate the get_remote_repos method - GitRepository.has_remote_repo: use get_remotes method - git: new class and method for remote repositories - debian packaging: change to 1.0 source package format - Version bump, rebase on top of 0.6.3 * Disable cover-min-percentage setting of nose * docs: minor sgml syntax fix - rpm tests: slight modificatin of import-srpm tests - ComponentTestBase: use eq_() ok_() from nose.tools - tests: add tests for git-import-orig-rpm - ComponentTestBase: keep tmpdir if GBP_TESTS_NOCLEAN is in env - ComponentTestBase: fix env restore in teardown - config: restore mangled env in doctests - import-orig-rpm: remove unneeded try-except - import-orig-rpm: don't crash on invalid gbp.conf - ComponentTestBase: more verbose output in case of branch mismatch - rpm tests: test --filter option of git-import-srpm - tests.testutils: add ls_zip() helper - import-orig: rework sourcecode preparation and filtering - import-orig: new function for filtering/re-packing sources - buildpackage: fix handling of empty tarball prefix - rpm: import orig: import readline in the common module - import orig: import readline in the common module - UpstreamSource.unpack: return UpstreamSource instance - UpstreamSource.pack: reuse unpacked dir if no filter is used - rpm: UpstreamSource: implement prefix guessing - UpstreamSource: implement prefix guessing - UpstreamSource: check that the sources exist - UpstreamSource: store the absolute path - rpm: UpstreamSource: move version guessing logic to PkgPolicy - UpstreamSource: move version guessing logic to PkgPolicy - UpstreamSource.guess_version: don't check for directories - Fix `fatal: fetch --all does not take a repository argument` * Thu Aug 22 2013 Markus Lehtonen 0.6.0git20130530 - rpm: Improve logging in case of rpmlib error - Add clean method to GitRepository class - Add all_remotes option in git fetch command - Add tags option in git push command - rpm: print a warning if importing gbp-specific librpm fails - rpm: implement a wrapper module for rpm lib - rpm: simplify SpecFile._parse_filtered_spec() - Fix pylint warnings, follow Markus' sugesstion - rpm: enhance spec parsing error messages - GitRepository/add_files: consistently update all tracked files - GitRepository: Add refspec option to fetch method - GitRepository: Add all option to pull method - GitRepository: Add force option to push method