summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* dgit-user(7): Recommend mk-build-deps rather than apt-get build-dep.Ian Jackson2018-01-06
| | | | | | | Closes:#863361. Suggested-by: Nikolaus Rath <Nikolaus@rath.org> Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: mention dgit-*(7) changeIan Jackson2018-01-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-*(7): --deliberately-not-fast-forward for first dgit pushSean Whitton2018-01-06
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* changelog: mention dgit-maint-merge changes (more)Ian Jackson2018-01-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-maint-merge(7): Include instructions to clone existing repoSean Whitton2018-01-06
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* changelog: mention dgit-maint-merge changesIan Jackson2018-01-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-maint-merge(7): Mandate pushing upstream branch to aliothSean Whitton2018-01-06
| | | | | | | | | | | In the case where we are using gbp-import-orig(1) to maintain a virtual upstream branch, we must push that branch somewhere. It is needed whenever we import a new upstream release. Thanks to Johannes Schauer for pointing out that the manpage previously said that pushing to alioth is always optional. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit-maint-merge(7): Restructure "NEW UPSTREAM RELEASES"Sean Whitton2018-01-06
| | | | | | | | | | Previously, some instructions applicable and needed whether or not upstream tags releases in git were given only for the case where upstream tags releases in git. Thanks Johannes Schauer for noticing this problem. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit-maint-merge(7): Configure --merge-mode for gbp-import-orig(1)Sean Whitton2018-01-06
| | | | | | | | | | | | | | For 3.0 (quilt) source packages, gbp-import-orig(1) defaults to --merge-mode=replace, which does the wrong thing for patches-applied repositories (see gbp-import-orig(1)). Note that we do override this when importing the first upstream version. This is needed because git-merge(1) will refuse to merge unrelated histories. Thanks to Johannes Schauer for reporting the problem. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit-maint-merge(7): Create an empty branch for upstream sourceSean Whitton2018-01-06
| | | | | | Thanks to Johannes Schauer for finding the problem. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* test suite: dpkgsourceignores-docs: Correct restrictionIan Jackson2018-01-06
| | | | | | | | | | Restrictions need to be invoked in test suites with t-restrict NAME-OF-RESTRICTION not by calling t-restrction-something. Only the former gets translated to the format used in debian/tests/control. Reported-by: Sean Whitton <spwhitton@spwhitton.name> Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: document Sean's changesIan Jackson2017-08-15
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Fix trailing whitespaceSean Whitton2017-08-15
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* changelog: Fix typoSean Whitton2017-08-15
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* changelog: start 4.2Ian Jackson2017-08-15
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 4.1debian/4.1archive/debian/4.1Ian Jackson2017-08-14
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Document test suite changesIan Jackson2017-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitworktree: Test quiltificationIan Jackson2017-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitworktree: Add some more operationsIan Jackson2017-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: dpkgsourceignores-correct: Test that the rune DTRTIan Jackson2017-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: dpkg_source_ignores: Exclude the right set of thingsIan Jackson2017-08-04
| | | | | | | | | Change the dpkg-source -i argument to exclude exactly the right set of things. (Sadly this is not a simple rune.) Previously we might exclude `foo.git', for example ! Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Properly shellquote --git-builder argument to gbpIan Jackson2017-08-04
| | | | | | | | This is about to contain more exciting shell metacharacters. (Even now, it is wrong without quoting as we end up telling gbp to pass -i.git/ rather than -i\.git/ to dpkg-source.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: dpkgsourceignores-docs: Use print-dpkg-source-ignoresIan Jackson2017-08-04
| | | | | | Rather than fishing the value out of the in-tree dgit source code. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: print-dpkg-source-ignores actionIan Jackson2017-08-04
| | | | | | | New print-dpkg-source-ignores option to print the big rune you need to pass to dpkg-source to make it work exactly the right. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: dpkgsourceignores-docs: Check dgit-maint-merge(7) -i -I runeIan Jackson2017-08-04
| | | | | | Check that the rune we document is the same as dgit actually uses. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-maint-merge(7): Add ' ' around -i\.git/Ian Jackson2017-08-04
| | | | | | | | | | This manpage should present a shell rune, not a half-quoted thing whose interpretation is left as a tricky exercise to othe reader. The ' ' protect the \ so that it would actually get passed to dpkg-buildpackage. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-maint-merge(7): Reformat slightlyIan Jackson2017-08-04
| | | | | | | Introduce semantic newlines around the dpg-buildpackage -i -I rune. This will make it easier to test. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out -i -I rune into a variableIan Jackson2017-08-04
| | | | | | | There is also an instance in dgit-maint-merge.7.pod but that's trickier to unify. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Break out t-dgit-manpageIan Jackson2017-08-04
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: stunt gnupg: Much better logging of race errorsIan Jackson2017-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: stunt gnupg runs gpg again if it exits status 2Ian Jackson2017-08-04
| | | | | | | | | Work around gnupg agent connection races by having our stunt gpg wrapper simply try running gpg again, once, if it exits 2. This does not fully suppress the bug but it does significantly reduce the probability. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Make t-dgit print pwd to stderr, not stdoutIan Jackson2017-08-03
| | | | | | | This means that tests can capture the output from t-dgit without going wrong. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Document worktree supportIan Jackson2017-08-03
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Make commit_getclogp not leave a lot of detritus in .git/dgitIan Jackson2017-08-03
| | | | | | | Have it use a fixed filename instead. It's only needed right away so that's fine. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* playground refactor: Dgit.pm: fresh_playground: Improve error messageIan Jackson2017-08-03
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitworktree: New testIan Jackson2017-08-03
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Tolerate worktrees when trying to git-fsckIan Jackson2017-08-03
| | | | | | | | | A `git worktree' has a file for .git. We still want to fsck them. We can simply run the fsck in the directory containing .git, instead. That works for ordinary trees with a .git directory, and for worktrees. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* directory refactor: open_main_gitattrs confesses if $maindir not setIan Jackson2017-08-03
| | | | | | | This improves the error message considerably for "didn't call record_maindir" bugs. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* worktree support: dgit: Fix for .git/logs/refs/Ian Jackson2017-08-03
| | | | | | | | | | | | | Experimentally, both the common dir and the worktree's git dir have a .git/logs. But, as might be expected, the worktree's one has the reflog for its HEAD and not any of the refs/ reflogs. Implicitly, we are deciding here that the dgit quilt cache is shared between all worktrees. That seems fine. I think we don't ever rely on its actual current value, so even concurrent dgit runs ought to be fine. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* worktree support: dgit: Fix for .git/info/attributesIan Jackson2017-08-03
| | | | | | | | | | | | | | | Experimentally, this file is in the common dir, not the per-worktree dir. Honour $maindir_gitcommon everywhere. Rename `open_main_gitattrs'. Previously it could in theory be used in the playtree (but, it isn't). Now it always operates on the main tree. Indeed, as we require, the `setup' stuff is only done in the main tree. The gitattributes fixes for playtrees are done, unconditionally, with the much simpler hammer in playtree_setup. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* worktree support: Fix playtree_setupIan Jackson2017-08-03
| | | | | | | In a worktree, .git is not a directory. We need to use $maindir_common. Add a comment, too. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* directory handling: dgit: Introduce dgit_privdir and use itIan Jackson2017-08-03
| | | | | | This removes another pile of open-coded references to .git/ Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: sbuild-gitish: Insist on using "build" chrootIan Jackson2017-08-03
| | | | | | | | | | In "test suite: sbuild-gitish: Find sbuild rune in the manpage" aka f5c0d33ede8a we accidentally switched from "build" to "jessie". Randomly messing about with the user's "jessie" chroot is not very nice. (And it would break in a hypothetical formal test providing the x-dgit-schroot-build capability.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* worktree support: Fix ensure_a_playground (gives absolute path now)Ian Jackson2017-08-03
| | | | | | | | | | | Make it honour $maindir_gitdir so it will DTRT in a `git worktree'. The .git/dgit play area ends up in the .git/worktrees/<worktreename> for this worktree. It now returns an absolute path. The only call site that needs adjusting is the one in fresh_playground. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* directory handling: dgit: Use $maindir rather than ../../..Ian Jackson2017-08-03
| | | | | | | Replace all the open-coded ../.. constructs with references to $maindir. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* directory refactoring: dgit clone: call record_maintree in multisuite tooIan Jackson2017-08-03
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* directory refactoring: dgit clone: call record_maintreeIan Jackson2017-08-03
| | | | | | | | | | | We are making up our own tree, here. We will need to call record_maintree in case we need to use information which it obtains. Currently, we don't. But git worktrees are complicated: we are going to have to depend on the new $maindir_git* variables, in setup_new_tree. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* directory refactoring: most invocations: call record_maintreeIan Jackson2017-08-03
| | | | | | | | | | | We need to call record_maintree so that $maindir and its friends are set, since we're going to rely on them heavily. Most operations will need them. Any operation that is invoked in a git tree should definitely have this called. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* directory refactoring: Rename no_local_git_cfgIan Jackson2017-08-03
| | | | | | | | This is actually called when we don't know that we are starting in a git tree. We want to use this knowledge to control an automatic call to record_maindir, too. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* worktree support: Dgit.pm: Introduce $maindir_gitdir and _commondirIan Jackson2017-08-03
| | | | | | | | | | | | A "git worktree" separates out some of the things which used to be found in .git, into "common" things and "gitdir" things. In this patch we simply collect the relevant informaation. No-one uses it yet so there is no significant functional change. However, while we are here, we do improve an error message slightly. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>