chiark / gitweb /
Merge tag 'debian/4.3' into dgit/stretch-backports
authorSean Whitton <spwhitton@spwhitton.name>
Sat, 27 Jan 2018 16:13:38 +0000 (09:13 -0700)
committerSean Whitton <spwhitton@spwhitton.name>
Sat, 27 Jan 2018 16:13:38 +0000 (09:13 -0700)
dgit release 4.3 for unstable (sid) [dgit]
[dgit distro=debian]

debian/changelog
dgit
dgit-maint-merge.7.pod
dgit.7

index 8ff170869a86dba15c23871a9a79c788ab6d89ee..650b05852fbf1b2e8f368cf60411829cad2ba52e 100644 (file)
@@ -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 e86e398356fff4ce5462f23d71e894332698b008..27dcf1c91e4a9288bb1693e5dc03488f08e5fcbc 100755 (executable)
--- 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;
index 0040604632c655974ebc37bcc20c3372043598f6..2674d66dee14de119ff5559c52a381244362c02f 100644 (file)
@@ -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 70165a1b69d0d9f745ae6e2f2a92135f985a8870..7ad5abaee9446462544d85cdd3fb89452783a3d8 100644 (file)
--- 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