summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-29Make parse_dsc a classmethod of DscFileGuido Günther
so we have the object creation close to the object itself.
2013-04-29ChangeLog: Remove is_nativeGuido Günther
to avoid accidental usage. Use DebianSource.is_native instead.
2013-04-29dch: Use DebianSource.is_nativeGuido Günther
instead of ChangeLog.is_native since the former used debian/source/format in favor of debian/changelog.
2013-04-29Revert "Use Popen.communicate instead of subprocess call"Guido Günther
This reverts commit 0c582cd827f164168a313e0bb4eabf9487bdd088.
2013-04-29Use Popen.communicate instead of subprocess callGuido Günther
so we can caputure stderr and pass it along with any errors.
2013-04-27GitRepository.has_feature: capture stderrGuido Günther
to avoid spurious output on the console and add the error message to the exception intead.
2013-04-27GitRepository.commit_dir: raise GitRepositoryError instead of GbpErrorGuido Günther
and make sure the callers forward the error properly
2013-04-27Silence GitRepository.write_treeGuido Günther
but add any error output to the exception instead. All callers have been audited to properly output the message if needed.
2013-04-27command_wrappers: allow to silence __call__Guido Günther
and use that in the doctest to get rid of the spurious output
2013-04-27Discard git mailinfo's error messageGuido Günther
since we don't expect it to succeed.
2013-04-27Silence GitRepository.grep_logGuido Günther
None of the gbp script rely on the output being printed. In fact we improve the exception by appending the stderr output.
2013-04-27Silence GitRepository.set_upstream_branchGuido Günther
It's not used within gbp itself so no command line tool expects an error message to be printed.
2013-04-26Silence GitRepository.has_treeishGuido Günther
This also silences 10_test_get_upstream_tree
2013-04-2610_test_get_upstream_tree: Fix test descriptionsGuido Günther
2013-04-2614_test_gbp_import_dscs: Mock gbp.log.errGuido Günther
to get rid of the spurious error message
2013-04-26buildpackage: implement --[no-]hooks optionMarkus Lehtonen
For enabling/disabling all hooks. This option does not affect the builder command, though. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-26tests: Fix tests for UbuntuMarkus Lehtonen
On Ubuntu dch produces different version numbering. Adapt tests for this. Adds a jew class to parse '/etc/lsb-release' to determine the distribution and it's codename to dynamically adapt tests accordingly. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-26DebianSource: fix is_native()Markus Lehtonen
Determine from changelog if debian/source/format does not provide any type (1.0 format). Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-26tests: add missing import in test_ChangelogMarkus Lehtonen
That was erroneously removed in 3d6b68ae541d6020ff747628b3e44196999e0a50. and breaks without dch installed Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-25GitRepository: add describe() methodMarkus Lehtonen
Provides more output options than find_tag(). - longfmt: for getting the tag name in the long format (tag, number of commits and sha1) - always: for falling back to sha1 if no (matching) tag name is found - abbrev: for defining the length of sha1 returned Change GitRepository.find_tag() to use the the new method. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-25tests: another fix for older dchMarkus Lehtonen
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-25tests: fix for older dchMarkus Lehtonen
Prevent dch from asking user input during tests. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-25buildpackage: catch and handle DebianSourceError gracefullyMarkus Lehtonen
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-25DebianSource: raise DebianSourceError if reading changelog failsMarkus Lehtonen
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-24bash completion: handle upstream-tree like upstream-branchGuido Günther
That's as close as it gets since every ref like is valid
2013-04-24Silence _git_commandGuido Günther
by using _git_inout instead of GitCommand
2013-04-24Silence git cloneGuido Günther
by using __git_inout instead of GitCommand
2013-04-14GitRepository: make __build_env a static methodGuido Günther
since cls is unused and it silences pychecker
2013-04-14Silence git initGuido Günther
to make the test suite less verbose
2013-04-13Document changes and release 0.6.0~git20130414Guido Günther
2013-04-13Don't try access source before it's filledGuido Günther
2013-04-13Document changes and release 0.6.0~git20130413Guido Günther
2013-04-13Add gbp.git.source.Source.sourcepkgGuido Günther
to easily fetch the source package name Git-Dch: Ignore
2013-04-13Honor debian/source/formatGuido Günther
when checking if a package is a native package Closes: #669267
2013-04-13Introduce Source classGuido Günther
so we don't have to expose all the details of Debian's different files and conventions.
2013-04-13Add minimal vfs interfaceGuido Günther
so we can access blobs in git as file like objects
2013-04-13Use _git_inout for git.showGuido Günther
so we don't spew the error message on stdout for nonexistent objects
2013-04-08Revert "GitRepository.show: use _git_inout()"Guido Günther
This changes the newline behaviour. readlines() as used by _git_getoutput correctly keeps the newlines while this change doesn't. This reverts commit 92edb4eda14cf4b5fd1514feb7b81aa50456285c.
2013-04-08tests: Use tempfile.mkdtemp to create temp dirs for testsThomas Koch
This puts test dirs below /tmp which often is a tmpfs. All tests include the context module which consolidates tmpdir creation and cleanup, undoes a chdir in teardown and silences log messages.
2013-04-07GitRepository.show: use _git_inout()Markus Lehtonen
Instead of the deprecated _git_getoutput() method. Also, capture stderr and put the error message to the exception, instead. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-06Add .coveragercMarkus Lehtonen
To get correct report if coverage is invoked directly (not through nose/disttools) in order to get an xml report, for example. Currently only used for restricting the coverage output to the gbp python package. That is, same thing that 'cover-package' option in setup.cfg does. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2013-04-06Fix typosGuido Günther
Git-Dch: Ignore
2013-04-06Generate coverage xmlGuido Günther
for cobertura style coverage information that can be picked up by e.g. Jenkins
2013-04-06Add urgency management.Daniel Dehennin
* tests/11_test_dch_main.py: test the new --urgency option to dch.main(). Add only meaningful tests, i.e. options alone and combined with --release and --snapshot. * git-dch (fixup_section): Manage "urgency" option. (main): Add version_group option "-U" and "--urgency" to set the urgency level of the entry. * docs/manpages/git-dch.sgml: Update documentation for new option.
2013-04-06Add option to manage distribution fields for non snapshot mode.Daniel Dehennin
The snapshot mode fails to merge two "debian/changelog" entries if the distribution is not "UNRELEASED". * tests/11_test_dch_main.py: test the new --distribution option to dch.main(). Add only meaningful tests, i.e. options alone and combined with --release and --snapshot. * git-dch (fixup_section): Rename as it's used to fix header in addition to trailer, this require a new named parameter "options". (main): Add version_group option "-D" and "--distribution" to specify the distribution name. Add version_group option "--force-distribution" to force the provided distribution to be used, used by "dch". Rename fixup_trailer() to fixup_section() and add options as parameters. * docs/manpages/git-dch.sgml: Update documentation for new options. Closes: #646684
2013-03-29Move DscFile to separate moduleGuido Günther
2013-03-29Move DebianPkgPolicy to separate moduleGuido Günther
2013-03-29Move debian/changelog manipulation to gbp.deb.changelog.ChangeLog.Daniel Dehennin
spawn_dch switch gbp.command.wrappers.Command. * gbp/deb/changelog.py (ChangeLog.spawn_dch): static method adapted from gbp.scripts.dch and converted to gbp.command_wrappers.Command. (add_entry): New method adapted from gbp.scripts.dch.add_changelog_entry. (add_section): New method adapted from gbp.scripts.dch.add_changelog_entry. Remove DebianGitRepository and options, this has nothing to do with changelog management. * tests/test_Changelog.py: Test new methods. * gbp/scripts/dch.py: Remove useless functions: system(), spawn_dch(), add_changelog_section() and add_changelog_entry(). Update calls accordingly. (fixup_trailer): Use spawn_dch() method of ChangeLog class. (process_options): dch_options became a list. (main): Use add_section() and add_entry() methods of ChangeLog object. Take care of upstream version since ChangeLog.add_section() does not manage it anymore. Update exception handling, ChangeLog.spawn_dch() can raise "CommandExecFailed" exception. Closes: #672954
2013-03-29Document changes and release 0.6.0~git20130329Guido Günther
2013-03-29Include the name of the package being built in the debian tag messageDaniel Kahn Gillmor
Currently, the message in the debian tag is just: "Debian release %s" % cp.version This is a bad idea, because it means that the signed message itself contains no mention of the project that is being worked on. Since all git repositories are conceptually the same git repository (some just have commits that others don't have), a malicious attacker could inject tags from project A into the repository for project B and the original developer's signature on those tags would be intact. This is potentially a security problem. For example: if there are automated build systems that pull from a repo and verify signed tags made by a known developer (and that developer contributes to multiple projects), this conflation could be used to make those systems build packages from an entirely other project. The attached patch enforces the inclusion of the name of the package into the tag's message. Closes: #704018