summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog14
-rwxr-xr-xdgit1
-rw-r--r--dgit-maint-merge.7.pod11
-rw-r--r--dgit.724
4 files changed, 47 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index 8ff1708..650b058 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+dgit (4.3) unstable; urgency=high
+
+ Documentation improvements:
+ * dgit(7): Discuss file executability. Closes:#886444.
+ * dgit(7): Discuss git-unrepresentable properties of source trees.
+ * dgit-maint-merge(7): Don't suggest using debian/source/patch-header
+ for 1.0 source format. Closes:#887850. [Sean Whitton]
+
+ Bugfixes:
+ * dgit archive-api-query: Avoid crashing due to lack of $isuite.
+ This breaks the infrastructure. Closes:#886592.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 25 Jan 2018 00:33:56 +0000
+
dgit (4.2~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
diff --git a/dgit b/dgit
index e86e398..27dcf1c 100755
--- a/dgit
+++ b/dgit
@@ -6456,6 +6456,7 @@ sub pre_archive_api_query () {
sub cmd_archive_api_query {
badusage "need only 1 subpath argument" unless @ARGV==1;
my ($subpath) = @ARGV;
+ local $isuite = 'DGIT-API-QUERY-CMD';
my @cmd = archive_api_query_cmd($subpath);
push @cmd, qw(-f);
debugcmd ">",@cmd;
diff --git a/dgit-maint-merge.7.pod b/dgit-maint-merge.7.pod
index 0040604..2674d66 100644
--- a/dgit-maint-merge.7.pod
+++ b/dgit-maint-merge.7.pod
@@ -300,9 +300,14 @@ A single combined diff, containing all the changes, follows.
=back
-Alternatively, this text could be added to README.source. However,
-this might distract from more important information present in the
-latter file.
+If you are using the version 1.0 source package format, this text
+should be added to README.source instead. The version 1.0 source
+package format ignores debian/source/patch-header.
+
+If you're using the version 3.0 (quilt) source package format, you
+could add this text to README.source instead of
+debian/source/patch-header, but this might distract from more
+important information present in README.source.
=head1 BUILDING AND UPLOADING
diff --git a/dgit.7 b/dgit.7
index 70165a1..7ad5aba 100644
--- a/dgit.7
+++ b/dgit.7
@@ -197,6 +197,17 @@ import existing vcs history
(which might not be faithful to dgit's invariants)
or previous non-Dgit uploads
(which would not provide a very rich history).
+
+git represents only file executability.
+git does not represent empty directories,
+or any leaf objects other than plain files and symlinks.
+The behaviour of Debian source package formats
+on objects with unusual permissions is complicated.
+Some pathological Debian source packages will no longer build
+if empty directories are pruned
+(or if other things not reproduced by git are changed).
+Such sources cannot be worked with properly in git,
+and therefore not with dgit either.
.SH READ-ONLY DISTROS
Distros which do not maintain a set of dgit history git repositories
can still be used in a read-only mode with dgit. Currently Ubuntu
@@ -243,6 +254,19 @@ If you are not the maintainer, you do not need to worry about the
source format of the package. You can just make changes as you like
in git. If the package is a `3.0 (quilt)' package, the patch stack
will usually not be represented in the git history.
+.SH FILE EXECUTABILITY
+Debian source package formats
+do not always faithfully reproduce
+changes to executability.
+But dgit insists that the result of dgit clone is identical
+(as far as git can represent - see Limitations, above)
+to the result of dpkg-source -x.
+
+So files that are executable in your git tree
+must be executable in the result of dpkg-source -x
+(but often aren't).
+If a package has such troublesome files,
+they have to be non-executable in dgit-compatible git branches.
.SH FORMAT 3.0 (QUILT)
For a format `3.0 (quilt)' source package, dgit may have to make a
commit on your current branch to contain metadata used by quilt and