summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Tag change: Double check agreement in rpush protocolIan Jackson2016-08-14
| | | | | | | Send the tag format as a param and check that it is the same at both ends. This check _ought_ not ever to fail, but I want to be sure. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Rename $tagformat to $tagformat_wantIan Jackson2016-08-14
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* TODO.BRANCH: Recognise {oldtag,newtag}-clone-nogitIan Jackson2016-08-14
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* TODO.BRANCH: Want to test upgrade smoothnessIan Jackson2016-08-14
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* TODO.BRANCH: Have grepped tests/lib for tagIan Jackson2016-08-14
| | | | | | | Well, we have done this well enough that t-pushed-good works in newtag-clone-nogit. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* TODO.BRANCH: Some desires for protovsn 4Ian Jackson2016-08-14
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* TODO.BRANCH: "previously" is fine.Ian Jackson2016-08-14
| | | | | | | | | | | git_fetch_us fetches all of refs/heads and refs/tags into dgit-fetch, and then with deliberately_not_fast_forward we process each of those. This is correct. This is for replay protection and for this purpose it doesn't matter whether the tags we are stopping being unwound are dgit tags or something else. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Test suite: Canonicalise json output when generating aqIan Jackson2016-08-14
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Test suite: run-all: record outputIan Jackson2016-08-14
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Use GIT_COMMITTER_DATE for automatic patchIan Jackson2016-08-14
| | | | | When automatically generating quilt patch, honour GIT_COMMITTER_DATE for filename creation (makes filename deterministic in test suite).
* Test suite: Test pushing with forcing old and new tag formatIan Jackson2016-07-31
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Calculate desired tag formatIan Jackson2016-07-31
| | | | | | | | | | | | Introduce machinery for deciding what format tag to make, during push. The computation is slightly ad-hoc. Currently it always returns `old' and does as before, so no overall functional change with existing configs and existing command lines. Reserve protocol version 4 for new tag support. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: dgit: Fetch both old ane new format tagsIan Jackson2016-07-31
| | | | | | We are going to want to know about all of these. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Test suite: Introduce $tagpfxIan Jackson2016-07-31
| | | | | | | | | | | | | | Currently this is `test-dummy' (the distro the tests work with). Have checked that after this commit find tests -type f | xargs perl -i~ -pe 's/\$tagpfx/test-dummy/g' puts everything back. (This does not prove I have changed the right set of occurrences, but it does suggest that each actual change is good.) No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Update dgit-repos-policy-debianIan Jackson2016-07-31
| | | | | | | | The only place where we call debiantag, and the only place where we know about tag names, is in vsn_in_our_history. We need to change it to query multiple tags. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Update dgit-repos-serverIan Jackson2016-07-31
| | | | | | | | | | Change the calls to debiantag_old to changes to debiantags, and the regexp to tolerate either tag name. We need an additional check that we are not receiving the tag named by debiantag_new when debiantag_old already exists. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Provide debiantags in Dgit.pmIan Jackson2016-07-31
| | | | | | No callers yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Make git_for_each_ref support multiple patternsIan Jackson2016-07-31
| | | | | | | By passing $patterns= [ ... ]. No functional change yet as no call site does this. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Declare intent in docs etc.Ian Jackson2016-07-31
| | | | | | | Provide debiantag_new as well as debiantag_old. Change the docs and an important comment. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Tag change: Rename debiantag to debiantag_oldIan Jackson2016-07-31
| | | | | | | | | | | | | | | | | We are going to change the tag name of the main signed tag used by dgit to signal the user's intent to the archive server. Prepare for this by changing debiantag to debiantag_old and changing all call sites outside dgit itself. dgit will want to be able to generate either, depending on whether it's cooperating in an rpush with a new or old dgit so reintroduce a wrapper called debiantag there. This will also allow us to have dgit generate old tags for testing. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* 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 <ijackson@chiark.greenend.org.uk>
* Test suite: Print better info on t-ref-same failureIan Jackson2016-07-31
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Test suite: Print better info on failuresIan Jackson2016-07-31
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* 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 <ijackson@chiark.greenend.org.uk>
* Dgit.pm: 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 Dgit.pm [...]". Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* 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
|