Commit message (Collapse)AuthorAge
* TODO.BRANCH search whole tree for "tag"Ian Jackson2016-07-31
* changelog: Document test suite better infoIan Jackson2016-07-31
| | | | Signed-off-by: Ian Jackson <>
* Test suite: Print better info on t-ref-same failureIan Jackson2016-07-31
| | | | Signed-off-by: Ian Jackson <>
* Test suite: Print better info on failuresIan Jackson2016-07-31
| | | | Signed-off-by: Ian Jackson <>
* dgit: rpush protocol comment: Add some missing protocol elementsIan Jackson2016-07-31
| | | | | | | progress, supplementary-message, previously, and param csuite, were all missing. Document them. Signed-off-by: Ian Jackson <>
* cmdoutput: Handle undef in arg crash betterIan Jackson2016-07-31
| | | | | | | | | | Use `confess' which produces a stack trace. And don't forget to use Data::Dumper; Bug introduced in e6ce71a87a1c "Move various useful functions into [...]". Signed-off-by: Ian Jackson <>
* Split brain: When pushing, find the dgit view in the cacheIan Jackson2016-07-17
| | | | | We now do set $split_brain, and we don't do anythig with the cached dgit view, so we'll crash at the die, in a moment.
* Innards: Improve mktree_in_ud_from_only_subdir messageIan Jackson2016-07-17
| | | | When it finds multiple subdirs, print them.
* Subprocess error handling: Initialise $? to -1Ian Jackson2016-07-17
| | | | | | | | | | | | | | | When system(3perl) fails due to syscall error, it sets only $!. When it succeeds it sets only $? and sometimes trashes $!. Conversely, close of a popened filehandle always sets both in all cases. Document this in a comment. So when using system and relying on $?/$! (rather than looking at system's return value), such as when about to use failedcmd, it's necessary to initialise $? to -1. Fix the three call sites where system might be followed by failedcmd but this wasn't done.
* Subprocess error handling: Fix when divert check failsIan Jackson2016-07-17
| | | | | If the remote command failed, do not try to match the undef value against the various regexps.
* Subprocess error handling: Do not call faildcmd when open failsIan Jackson2016-07-17
| | | | | failecmd wants to look at $? too and anyway the full command is not of much interest in these cases.
* Split brain: Fix grammar in a messageIan Jackson2016-07-17
* Split brain: In dopush, get HEAD earlier (nfc)Ian Jackson2016-07-17
* Split brain: Do not look at all of %INC for cache keyIan Jackson2016-07-17
| | | | | | | | Look only at dgit and Debian/Dgit. The prompt for this is that some of our submodules seem to dynamically load some of their components depending on what dgit does, making the cache key unstable.
* quilt innards: Change calling convention for quilt_check_splitbrain_cacheIan Jackson2016-07-17
* quilt innards: Break out quilt_check_splitbrain_cache (nfc)Ian Jackson2016-07-17
* quilt innards: Break out uilt_make_fake_dsc (nfc)Ian Jackson2016-07-17
* quilt innards: Remove a couple of stray blank linesIan Jackson2016-07-17
* quilt innards: Fix a formatting glitchIan Jackson2016-07-17
* Quilt mode reporting: Only print warning about quilt onceIan Jackson2016-07-17
* Test suite: quilt-gbp: New test (not yet complete)Ian Jackson2016-07-17
| | | | | | | | This test does not yet do all that we want, but it does some things and then exits 0. The current intent for the future is written in prose in the rest of the file.
* Test suite: t-gbp-example-prep: Arrange to be FF from the archiveIan Jackson2016-07-16
| | | | Otherwise pushes will necessarily (spuriously) fail.
* When synthesing a commit from a .dsc from the archive, stop internal git ↵Ian Jackson2016-07-16
| | | | reset from printing a confusing message about HEAD.
* Split brain: Use GZIP -1n to avoid spurious timestampIan Jackson2016-07-16
| | | | | | Otherwise the cache entry's .dsc contains the hash of a fake debian.tar.gz which has had a timestamp put in it by gzip, defeating the cache.
* Split brain: Improve and rationalise progress messagesIan Jackson2016-07-16
* Split brain: Provide --gbp= and --gbp:Ian Jackson2016-07-16
| | | | Not documented yet.
* Split brain: With patches-unapplied trees, apply before running rulesIan Jackson2016-07-16
| | | | | | | | | | | | Everywhere we invoke dpkg-buildpackage, check if we need to apply the patches. And at the end of every command that might have done this, check if we did, and unapply them if so. We don't try to unapply patches in case of error. That seems likely to be quite fragile. Print a warning when we apply patches, suggesting ways to avoid the need.
* Split brain: Show progress message when dgit view created OKIan Jackson2016-07-16
* Split brain: Do not leave STDOUT redirected to /dev/null (!)Ian Jackson2016-07-16
| | | | | We use runcmd shell_cmd for gbp pq import, and the other commands not produce undesirable output.
* Split brain: Use `gbp pq' (which exists) not `gbp-pq' (which doesn't)Ian Jackson2016-07-16
* Test suite: unapplied-pq2qc: leave us on the qc/ branchIan Jackson2016-07-16
| | | | | The patch queue branch is not really very useful. Certainly, the build tests will require the patch queue branch.
* Split brain: Include quilt mode in cache keyIan Jackson2016-07-16
| | | | This can make a radical difference!
* Split brain: Fix unapplied tree handlingIan Jackson2016-07-16
| | | | | | | Do the quiltify_splitbrain_needed if there _are_ patches, not if there aren't. And if we're told it was an unapplied tree, check that HEAD and orig are indeed the same (excluding debian/*, of course) and print a useful message if not.
* Test suite: When sbuild log file missing, make a noteIan Jackson2016-07-16
| | | | | | | This updates "Test suite: When sbuild fails, do not crash", to arrange that in this situation we do leave a message in the $bmlog, where it will be reported (eg) by diff. This makes debugging less confusing in cases where the log is indeed missing.
* Test suite: Provide t-gbp-example-prep [FOLD INTO QUILT-GBP TEST?]Ian Jackson2016-07-16
| | | | | This function is useful for setting up a test case --quilt=gbp working tree and corresponding archive contents, ready for substantive tests.
* Test suite: Move bm-quirk-sbuild-after-act to lib-build-modesIan Jackson2016-07-16
| | | | This will allow other tests to check dgit sbuild.
* Test suite: build-modes: Move sbuild knowledge to libIan Jackson2016-07-16
| | | | | Teach bm-guess-e-source-e-targets about sbuild, so this knowledge can be reused.
* Test suite: build-modes: Move `build-source' knowledge to libIan Jackson2016-07-16
| | | | | Teach bm-guess-e-source-e-targets about dgit build-source, so this knowledge can be reused.
* Test suite: Break out bm-prep-ownpackage-branchesIan Jackson2016-07-16
| | | | | We are going to want to run some build modes tests on other exciting trees.
* Test suite: quilt gbp: Provide example worktree tarballIan Jackson2016-07-16
| | | | | | | This working tree has some patch queues etc. in it, which will be useful for testing --quilt=gbp. Signed-off-by: Ian Jackson <>
* Test suite: unapplied-pq2qc: move into lib as a t- subroutineIan Jackson2016-07-16
* Test suite: Provide tests/unapplied-pq2qcIan Jackson2016-07-16
| | | | | Utility script for invoking gbp pq. I think I will want to swallow this into a t-* function in tests/lib.
* Provide 3.0 (quilt) patches-unapplied with .gitignore test caseIan Jackson2016-07-16
* Split build: Add a bit more debugging outputIan Jackson2016-07-16
* Split brain: Run source build in dgit view directoryIan Jackson2016-07-16
| | | | | And, after the source build is done, copy the resulting files out into the invocation directory's parent, where people expect to find them.
* Split build: Split clean from source build in split build modeIan Jackson2016-07-16
* Split brain: some work on integration into the rest of dgitIan Jackson2016-07-16
| | | | | | | | | | | * Move the fast forward die to where we will need to make the synthetic commit, so that the tree equality check is done on the thing we will actually push. * Crash if we are trying to do split brain without split build. (This should never happen.) * Set split build if we need split brain.
* dgit: Rename $suppress_clean to $clean_using_builder (nfc)Ian Jackson2016-07-16
| | | | | This variable name was very confusing. Also, add a comment explaining the semantics.
* Split brain: Quieten dgit-view checkoutIan Jackson2016-07-16
* Split brain: introduce quiltmode_splitbrain() (nfc)Ian Jackson2016-07-16