chiark / gitweb /
Manpages: Other clarifications and improvements.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 1 Jul 2015 17:33:25 +0000 (18:33 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 4 Jul 2015 18:24:46 +0000 (19:24 +0100)
debian/changelog
dgit.1
dgit.7

index 5e685f1..853e3ea 100644 (file)
@@ -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 (file)
--- 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 (file)
--- 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).