summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog1
-rw-r--r--dgit.134
2 files changed, 35 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 4d553f6..bcd50b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ dgit (2.9~) unstable; urgency=low
* During push, automatically calculate which .origs are required,
so user never needs [--ch:]-sa or [--ch:]-sd. Closes:#829116.
* Properly look for .origs etc. in .., fetching them less often.
+ * New import-dsc feature.
--
diff --git a/dgit.1 b/dgit.1
index c5dd6b9..c2541f0 100644
--- a/dgit.1
+++ b/dgit.1
@@ -240,6 +240,33 @@ other kinds of more exotic history. If dgit can't find a suitable
linearisation of your history, by default it will fail, but you can
ask it to generate a single squashed patch instead.
.TP
+.BI "dgit import-dsc " ../path/to/.dsc branch
+Import a Debian-format source package,
+specified by its .dsc,
+into git,
+the way dgit fetch would do.
+
+This does about half the work of dgit fetch:
+it will convert the .dsc into a new, orphan git branch.
+Since dgit has no access to a corresponding source package archive
+or knowledge of the history
+it does not consider whether this version is newer
+than any previous import
+or corresponding git branches;
+and it therefore does not
+make a pseudomerge to bind the import
+into any existing git history.
+
+If
+.I branch
+does not start with refs/, refs/heads/ is prepended.
+The specified branch is unconditionally updated.
+
+If the specified .dsc contains a Dgit field,
+dgit will simply make a branch of that commit.
+If you cannot manage to find that commit anywhere,
+consider --force-import-dsc-with-dgit-field.
+.TP
.B dgit version
Prints version information and exits.
.TP
@@ -737,6 +764,13 @@ These options are provided as an escape hatch,
in case dgit is confused.
(They might also be useful for testing error cases.)
.TP
+.B --import-dsc-with-dgit-field
+Tell dgit import-dsc to treat a .dsc with a Dgit field
+like one without it.
+The result is a fresh import,
+discarding the git history
+that the person who pushed that .dsc was working with.
+.TP
.B --force-unrepresentable
Carry on even if
dgit thinks that your git tree contains changes