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
is configured this way.
+.SH GITATTRIBUTES
+git has features which can automatically transform files
+as they are being copied between the working tree
+and the git history.
+The attributes can be specified in the source tree itself,
+in
+.BR .gitattributes .
+See \fBgitattributes\fP(5).
+
+These transformations are context-sensitive
+and not, in general, reversible,
+so dgit operates on the principle that
+the dgit git history contains the actual contents of the package.
+(When dgit is manipulating a .dsc,
+it does so in a private area,
+where the transforming gitattributes are defused,
+to achieve this.)
+
+If transforming gitattributes are used,
+they can cause trouble,
+because the working tree files can differ from
+the git revision history
+(and therefore from the source packages).
+dgit warns if it finds a .gitattributes file
+(in a package being fetched or imported),
+unless the transforming gitattributes have been defused.
+
+dgit clone
+and dgit setup-new-tree
+disable transforming gitattributes
+by default,
+by creating a suitable .git/info/attributes.
+See
+.B dgit setup-new-tree
+and
+.B dgit setup-gitattributes
+in dgit(1).
.SH PACKAGE SOURCE FORMATS
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
As the maintainer you therefore have the following options:
.TP
\(bu
+Delete the files from your git branches,
+and your Debian source packages,
+and carry the deletion as a delta from upstream.
+(With `3.0 (quilt)' this means represeting the deletions as patches.
+You may need to pass --include-removal to dpkg-source --commit,
+or pass corresponding options to other tools.)
+This can make the Debian
+source package less useful for people without Debian build
+infrastructure.
+.TP
+\(bu
Persuade upstream that the source code in their git history and the
source they ship as tarballs should be identical. Of course simply
removing the files from the tarball may make the tarball hard for
spurious changes. This has the advantage that someone who clones
the git repository finds the program just as easy to build as someone
who uses the tarball.
-.TP
-\(bu
-Delete the files from your git branches,
-and your Debian source packages,
-and carry the deletion as a delta from upstream.
-(With `3.0 (quilt)' this means represeting the deletions as patches.
-You may need to pass --include-removal to dpkg-source --commit,
-or pass corresponding options to other tools.)
-This can make the Debian
-source package less useful for people without Debian build
-infrastructure.
.LP
Of course it may also be that the differences are due to build system
bugs, which cause unintended files to end up in the source package.