Age | Commit message (Collapse) | Author |
|
Closes: #636368
|
|
Topic can be defined with either 'Gbp: Topic <topic>' or 'Gbp-Pq: Topic
<topic>' in the commit message.
This is to replace the "gbp-pq-topic: <topic>" command.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
For generating a patch file from a diff between two arbitrary commits.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Support giving commands to pq as a meta tag in commit message. The
format is "Gbp: <command> [args]".
Currently, only one command is supported. namely 'ignore'. That is, one
can use 'Gbp: Ignore' in the commit message for ignoring the commit in
patch-generation.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Encode non-ascii email headers properly. Also, set MIME headers
correctly for the message body if the commit message body contains
non-ascii characters.
The reason for constructing the message in a little bit "clumsy" way is
the intention is to match the output of git-format-patch as closely as
possible.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Implements a filter option that allows filtering out changes to certain
files/paths in the patch-generation. A commit is totally ignored if all
files would be filtered out. The path filter is given as a Python
regexp.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Use our own function for constructing the patch files instead of using
the format-patch command of git. This way, we get the desired output
format directly, without the need for the error-prone "format-patch,
parse patch files, mangle and re-write patch files" cycle.
Also, fix patch naming in patch generation when '--no-patch-numbers' is
used. Previously, multiple commits with the same subject resulted in
multiple patches having the same filename. This lead into broken series
with missing patches as patch files were overwritten by the topmost
commit.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Closes: #725666
Signed-off-by: Guan Junchun <junchunx.guan@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
|
|
|
|
Previously empty prefix in tarball generation introduced a leading slash
in all filenames in the archive.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
|
|
Useful common functionality.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
since the later doesn't exist in python3
|
|
When regenerating the patch queue including patches from the Debian
branch is not useful. Addresses parts of See #680705.
Thanks: Benjamin Cama for the detailed analysis
|
|
|
|
This code that determined if we found a snapshot header was obuscated by
the code that determines the commits to add. Split those and better
document their purpose. Also always return the commit to start from so
we don't need to repeat the logic in the uper levels.
|
|
It's shorter and get's rid of the unused dummy variable.
|
|
|
|
instead of git-import-dsc
|
|
and robustify against invalid modules names.
|
|
|
|
So like git you can now use gbp <command> instead of git-<command> or
gbp-<command>. The manpages and docs aren't adjusted yet.
|
|
Git-Dch: Ignore
|
|
Utilize the get_commit_info() method of GitRepository instead of the
deprecated get_subject().
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Update working copy and index (to branch HEAD) if we modify the
currently checked-out branch. Otherwise the repository is left in
unclean state when the current branch is upstream or pristine-tar and
the '--no-merge' option is used.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Closes: #708636
|
|
|
|
This allows us to fetch upstream and pristine-tar even when in detached
head state. This can be usefull when e.g. building in jenkins which uses
a detached head by default.
|
|
This fixes a problem when running git-dch form a detached HEAD
|
|
so we have the object creation close to the object itself.
|
|
instead of ChangeLog.is_native since the former used
debian/source/format in favor of debian/changelog.
|
|
and make sure the callers forward the error properly
|
|
This also silences 10_test_get_upstream_tree
|
|
For enabling/disabling all hooks. This option does not affect the
builder command, though.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
|
|
to easily fetch the source package name
Git-Dch: Ignore
|
|
when checking if a package is a native package
Closes: #669267
|
|
* 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.
|
|
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
|
|
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
|
|
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
|
|
based on a patch by Daniel Dehennin
Needed for #672954, #646684, #669171
|
|
To make sure that the tags are in sync with the remote.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
so introdice --git[-no]-purge which is consistent with the other
boolean options and deprecate --git-dont-purge.
Closes: #702200
|
|
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|
|
GitModifier doesn't support dates in the format used in git format-patch
emails.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
|