.B dgit setup-new-tree
Configure the current working tree the way that dgit clone would have
set it up. Like running
-.B dgit setup-useremail
-and
+.BR "dgit setup-useremail" ,
.B setup-mergechangelogs
+and
+.B setup-gitattributes
(but only does each thing if dgit is configured to do it automatically).
You can use these in any git repository, not just ones used with
the other dgit operations.
which uses
.BR dpkg-mergechangelogs .
.TP
+.B dgit setup-gitattributes
+Set up the working tree's
+.B .git/info/attributes
+to disable all transforming attributes for all files.
+This is done by defining a macro attribute
+.B dgit-defuse-attrs
+and applying it to
+.BR * .
+For why, see
+.B GITATTRIBUTES
+in
+.BR dgit(7) .
+
+(If there is already a macro attribute line
+.B [attr]dgit-defuse-attrs
+in .git/info/attributes
+(whatever its effects),
+this operation does nothing further.
+This fact can be used to defeat or partially defeat
+dgit setup-gitattributes
+and hence
+dgit setup-new-tree.)
+.TP
.B dgit quilt-fixup
`3.0 (quilt)' format source packages need changes representing not
only in-tree but also as patches in debian/patches. dgit quilt-fixup
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
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 (disabled),
+where the transforming gitattributes are defused,
to achieve this.)
-If transforming gitattributes used,
+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.
-So dgit clone
+dgit clone
and dgit setup-new-tree
disable transforming gitattributes
by default,
-by creating a .git/info/attributes.
-When fetching or importing sources
-dgit warns if it finds .gitattributes file
-and the transforming gitattributes have not been defused
-(e.g. in the case of a tree not made with dgit clone).
-
+by creating a suitable .git/info/attributes.
See
.B dgit setup-new-tree
and