|author||Ian Jackson <email@example.com>||2015-07-01 18:33:25 +0100|
|committer||Ian Jackson <firstname.lastname@example.org>||2015-07-04 19:24:46 +0100|
Manpages: Other clarifications and improvements.
3 files changed, 42 insertions, 9 deletions
diff --git a/debian/changelog b/debian/changelog
index 5e685f1..853e3ea 100644
@@ -87,6 +87,7 @@ dgit (0.23~) unstable; urgency=low
Also, expand the documentation in this area slightly. Closes:#768590.
* Manpages: Break out dgit(7) from dgit(1).
+ * Manpages: Other clarifications and improvements.
@@ -29,13 +29,23 @@ dgit \- git integration with the Debian archive
allows you to treats the Debian archive as if it were a git
repository. See \fBdgit\fP(7) for detailed information about the data
+model, common problems likely to arise with certain kinds of package,
-The usual workflow is: 1. clone or fetch; 2. make and commit changes
-in git as desired; 3. run dgit build, dgit sbuild or dgit
-build-source, or generate the source and binary packages for upload
-some other way; 4. do pre-upload tests of the proposed upload; 5. run
+The usual workflow is:
+1. dgit clone or fetch
+2. make, dev test and commit changes in git as desired
+3. run dgit build, dgit sbuild or
+dgit build-source, or generate the source and binary packages for upload
+some other way
+4. do pre-upload tests of the proposed upload
+5. dgit push.
\fBdgit clone\fR \fIpackage\fP [\fIsuite\fP] [\fB./\fP\fIdir|\fB/\fP\fIdir\fR]
Consults the archive and dgit-repos to construct the git view of
@@ -53,9 +53,9 @@ the dgit/suite branch.
dgit expects repos that it works with to have a
-remote. This refers to the well-known dgit-repos location
-(currently, the dgit-repos project on Alioth). dgit fetch updates
-the remote tracking branch for dgit/suite.
+remote. This refers to the well-known dgit-repos location (on a
+dedicated Debian VM). dgit fetch updates the remote tracking branch
dgit does not (currently) represent the orig tarball(s) in git. The
orig tarballs are downloaded (by dgit clone) into the parent
@@ -149,5 +149,27 @@ 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.
dgit will notice this and complain. You may have to fix these bugs
before you can unify your existing git history with dgit's.
+.SH PROBLEMS WITH PACKAGE CLEAN TARGETS ETC.
+A related problem is unexpected behaviour by a package's
+If a package's rules
+remove or modify files which are distributed in the package,
+or simply forgets to remove certain files,
+dgit will complain that the tree is dirty.
+The solution is to use
+.BR "dgit -wg" " aka " "--clean=git" ,
+which instructs dgit to use git clean instead of the package's
+along with perhaps
+.B git reset --hard
+before each build.
+This is 100% reliable, but has the downside
+that if you forget to git add or to commit, and then use
+.BR "dgit -wg" " or " "git reset --hard" ,
+your changes may be lost.
.SH SEE ALSO