summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* changelog: finalise 5.3debian/5.3archive/debian/5.3Ian Jackson2018-06-27
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(7): Add discussion of quilt fixup error messagesIan Jackson2018-06-27
| | | | | | | And add cross-references to dgit(1) and the actual error. Somewhat apropos of #842614. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Better message formatting when --overwrite may be neededIan Jackson2018-06-27
| | | | | | Closes:891031. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: --overwrite test: Be more tolerant of exact messageIan Jackson2018-06-27
| | | | | | We're about to change this, apropos of #891031. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(1): Mention in --overwrite that it is usually needed for first dgit pushIan Jackson2018-06-27
| | | | | | This is part of #891031. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Test ill-advised repeat dgit push after git push failsIan Jackson2018-06-27
| | | | | | | This demonstrates #869146, which is about dgit repeatedly adding the same .orig to the .changes. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Do not introduce duplicate origs in .changes filesIan Jackson2018-06-27
| | | | | | | | | | | | | | | | | | The .dsc and .changes matching code contained roughly $fieldbody =~ / \Q$item\E\n/m but this is wrong when the $fieldbody matches $item in its last line, and there is no trailing newline (as would be usual). This code is obviouslu confused because m affects only ^ $ which don't appear in the regexp. Change these to / \Q$item\E$/m which is what ought to have been, and probably was, intended. In one case we are trying to delete a line. In that case we need to remove the leading newline. The field body always starts with a newline so the use of \n rather than ^ is fine. Closes:#869146. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Test GIT_REFLOG_ACTION setting by git-debrebaseIan Jackson2018-06-26
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase new-upstream: Provide better reflog entriesIan Jackson2018-06-26
| | | | | | | | By setting GIT_REFLOG_ACTION. Closes:#901925. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* ref updates: Break out git_reflog_action_msgIan Jackson2018-06-26
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* ref updates: Honour GIT_REFLOG_ACTION everywhere.Ian Jackson2018-06-26
| | | | | | | | Specifically, every time we call git_update_ref_cmd. Closes:#901935. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* ref updates: Introduce update_ref_cmdIan Jackson2018-06-26
| | | | | | | | | | | | | | | | | | Currently the comment about `message may be modified' is rather misleading, since there is no code to do that - but it explains the semantics of the new function. We change the appropriate subset of the git update-ref call sites. These are precisely the ones where we previously specified a message with -m, except for the quilt cache (where we use the reflog message as the cache lookup key). The calls are updates of internal refs etc. We end up using qw(git) rather than @git. Otherwise no functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 5.3~Ian Jackson2018-06-24
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 5.2debian/5.2archive/debian/5.2Ian Jackson2018-06-24
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: dgit/gdr interop: test make-patches exiting 7Ian Jackson2018-06-22
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: lib-gdr: t-some-changes: Honour $2 `dum'Ian Jackson2018-06-22
| | | | | | This allows for less thorough but faster test cases. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: git-debrebase interop: Actually tolerate git-debrebase status 7Ian Jackson2018-06-22
| | | | | | make-patches exiting with status 7 causes $?==7*256, not 7. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: git-debrebase interop: Add a missing debugcmd debugging print.Ian Jackson2018-06-22
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: warn if vcs-git seems out of dateIan Jackson2018-06-21
| | | | | | | Print a warning to stderr on `dgit fetch sid', if your vcs-git remote url disagrees with what's in sid's .dsc. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Provide `update-vcs-git' subcommandIan Jackson2018-06-21
| | | | | | | This is for creating and adjusting the vcs-git remote url. Useful for transition from alioth to salsa. Closes:#902006. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-user(7): Suggest sbuild-debian-developer-setup(1)Sean Whitton2018-06-21
| | | | | | | | | | | | | | | | This will only create the chroot for building packages for the machine's architecture, because sbuild-debian-developer-setup(1) does not have an --architecture option, so sbuild-createchroot(1) will be needed too, hence the 'and'. The nice thing about sbuild-debian-developer-setup(1) is that does fiddly things that a non-expert might forget about, like adding the current user to the sbuild group. So it is still worth recommending even though it does not have an --architecture option. Closes:#895779. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* test suite: Test that --new --overwrite works properly.Ian Jackson2018-06-21
| | | | | | | Here --overwrite is not needed, so is a no-op. I chose this test for no particular reason, out of the results of git-grep -e --new. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(1): Clarify that --overwrite does nothing if not needed.Ian Jackson2018-06-21
| | | | | | Closes:#863578. Related to #863576 too. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: --overwrite now no longer crashes if there is no $archive_hashIan Jackson2018-06-21
| | | | | | | | | | Ie there is nothing to overwrite (eg, when used with --new). Instead, it is simply ignored, as it is ignored in situations where the push is fast forward. Closes:#863576. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Use nproc(1) rather than Sys::CPU.Ian Jackson2018-06-21
| | | | | | | | | This is more portable and does not depend on libsys-cpu-perl being installed. Closes:888496. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Non-noop git fetch is not available with --dry-run, so failIan Jackson2018-06-21
| | | | | | | | | | | | | | | | When fetch or push wants git fetch (other than in a situation where it happes to be a noop) but --dry-run was specified, we would loop with a false coplaint about git fetch. False, because we didn't actually run git fetch so of course it didn't do anything. Instead, fail with an explanation. Closes:#871317. This does not occur, and we do not fail, if git-fetch would be a no-op. We can tell when this is the case, because we use git-ls-remote too. This leads to one suggestion for a workaround for the user, which is to do a not --dry-run fetch first. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit, Dgit.pm: Clarify error framing a bitIan Jackson2018-06-21
| | | | | | | | | Add a newline and "error:" before most error messages. Thius makes the output clearer, by distinguishing informational output (which might or might not relate to any error which is occurring) from things which are definitely wrong. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Improve message for discrepant quilt fixupIan Jackson2018-06-21
| | | | | | | When quilt fixup fails because of discrepancies, print a git diff rune which will show them. Closes:#865446. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quiltify_splitbrain: Pass $oldtiptree (o+d/p) tooIan Jackson2018-06-21
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: test suite: quilt-singlepatch: Test that we can remove everythingIan Jackson2018-06-21
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: commit_quilty_patch: Handle other file statuses tooIan Jackson2018-06-21
| | | | | | | | | | | | | | | | In particular, R can occur if all Debian changes have been removed in a package with single-debian-patch, in which case we would fail to commit the patch queue removal. I don't think dpkg-source will remove files in other cases, so this is probably the only actually buggy case. I don't think the other letters are particularly likely but if they occur they should be committed too. I have deliberately excluded U which should definitely not occur. Closes:#893263. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit build: Better message when network is offline.Ian Jackson2018-06-20
| | | | | | | | | When build fails because the archive access fails, mention that this was tried because --since-version was not specified. Closes:#883340. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(1): Mention under `dgit build' that it uses the network.Ian Jackson2018-06-20
| | | | | | Part of the fix for #883340. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 5.2~Ian Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 5.1debian/5.1archive/debian/5.1Ian Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: document changes so farIan Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: suppress gbp pq export outputIan Jackson2018-06-20
| | | | | | Except in case of error. Closes:#901809. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Move shell_cmd from dgitIan Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Trigger on indirect dependenciesIan Jackson2018-06-20
| | | | | | | As discussed on debian-ci. Bug report to request documentation for this in the autopkgtest spec is TBD. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* control file: Fix a typo in the git-debrebase descriptionIan Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitattributes: check that dotfiles work properly tooIan Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitattributes: Test that old macros are updatedIan Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitattributes: Rename a sums file to the right nameIan Jackson2018-06-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: gitattributes: Defuse working-tree-encodingIan Jackson2018-06-20
| | | | | | | | | | | | | | | | | | | * Add -working-tree-encoding to $negate_harmful_gitattrs. * Add new arrangements for updating an existing dgit-defuse-attrs macro definition: - is_gitattrs: say whether the macro is up to date - setup_gitattrs: update an existing out-of-date macro - minor message changes - document the new behaviour One consequence is that we have had to breach the promise about how to stop future dgit setup-new-tree runs messing with this: it is now necessary to disapply the macro, rather than redefine it. Closes:#901900. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: gitattributes: Minor refactoring to prep for adding new squashIan Jackson2018-06-20
| | | | | | | | | | | | * is_gitattrs_setup: Break out $gitattrs_ourmacro_re * is_gitattrs_setup: Reorganise very slightly * is_gitattrs_setup: Add a debug print * setup_gitattrs: Introduce $new * setup_gitattrs: Add a blank line No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitattributes: Do not try to set working-tree-encoding to trueIan Jackson2018-06-20
| | | | | | | | Part of the fix to #901900. This suppresses the sort-of-spurious test failure which occurs because the working-tree-encoding attribute is discovered and then set to an inappropriate value. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitattributes: Test working-tree-encoding suppressionIan Jackson2018-06-20
| | | | | | | | | | | Put a UTF-8 BOM in the middle of the test files, and some gitattribute settings for working-tree-encoding. `ISO-8859-1' produces file corruption. `UTF-16' produces an error since it doesn't specify BE or LE, and the file lacks a BOM at the start. Part of the fix to #901900. This introduces the desired test failure. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: new-upstream: fix ff check handling of multi-piece upstreamsIan Jackson2018-06-20
| | | | | | | Multi-piece combine commits may have n or n+1 parents, depending on whether the previous new-upstream invocation was snag-free. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase manpages: Fix typos and etc.Ian Jackson2018-06-18
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 5.1~Ian Jackson2018-06-18
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>