summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2015-07-01 18:33:25 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2015-07-04 19:24:46 +0100
commit71d71cb4e886f068fe5c6f29f265a4ff47df13d1 (patch)
tree9acecace2e83e528b5104703fe116f80319c2e6b
parentcfd5e47a4a0d485c2cbb93cccad40e8086de52ea (diff)
Manpages: Other clarifications and improvements.
-rw-r--r--debian/changelog1
-rw-r--r--dgit.122
-rw-r--r--dgit.728
3 files changed, 42 insertions, 9 deletions
diff --git a/debian/changelog b/debian/changelog
index 5e685f1..853e3ea 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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.
--
diff --git a/dgit.1 b/dgit.1
index 9ebc7b1..e4da7f2 100644
--- a/dgit.1
+++ b/dgit.1
@@ -29,13 +29,23 @@ dgit \- git integration with the Debian archive
.B dgit
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 etc.
+model, common problems likely to arise with certain kinds of package,
+etc.
-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
-dgit push.
+The usual workflow is:
+.br
+1. dgit clone or fetch
+.br
+2. make, dev test and commit changes in git as desired
+.br
+3. run dgit build, dgit sbuild or
+dgit build-source, or generate the source and binary packages for upload
+some other way
+.br
+4. do pre-upload tests of the proposed upload
+.br
+5. dgit push.
+.SH OPERATIONS
.TP
\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
diff --git a/dgit.7 b/dgit.7
index a3ea84c..6c74f40 100644
--- a/dgit.7
+++ b/dgit.7
@@ -53,9 +53,9 @@ the dgit/suite branch.
dgit expects repos that it works with to have a
.B dgit
-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
+for dgit/suite.
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.
+.LP
+.SH PROBLEMS WITH PACKAGE CLEAN TARGETS ETC.
+A related problem is unexpected behaviour by a package's
+.B clean
+target.
+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.
+.LP
+The solution is to use
+.BR "dgit -wg" " aka " "--clean=git" ,
+which instructs dgit to use git clean instead of the package's
+build target,
+along with perhaps
+.B git reset --hard
+before each build.
+.LP
+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
\fBdgit\fP(1).