summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* When synthesing a commit from a .dsc from the archive, stop internal git ↵Ian Jackson2016-07-16
| | | | reset from printing a confusing message about HEAD.
* Split brain: Use GZIP -1n to avoid spurious timestampIan Jackson2016-07-16
| | | | | | Otherwise the cache entry's .dsc contains the hash of a fake debian.tar.gz which has had a timestamp put in it by gzip, defeating the cache.
* Split brain: Improve and rationalise progress messagesIan Jackson2016-07-16
|
* Split brain: Provide --gbp= and --gbp:Ian Jackson2016-07-16
| | | | Not documented yet.
* Split brain: With patches-unapplied trees, apply before running rulesIan Jackson2016-07-16
| | | | | | | | | | | | Everywhere we invoke dpkg-buildpackage, check if we need to apply the patches. And at the end of every command that might have done this, check if we did, and unapply them if so. We don't try to unapply patches in case of error. That seems likely to be quite fragile. Print a warning when we apply patches, suggesting ways to avoid the need.
* Split brain: Show progress message when dgit view created OKIan Jackson2016-07-16
|
* Split brain: Do not leave STDOUT redirected to /dev/null (!)Ian Jackson2016-07-16
| | | | | We use runcmd shell_cmd for gbp pq import, and the other commands not produce undesirable output.
* Split brain: Use `gbp pq' (which exists) not `gbp-pq' (which doesn't)Ian Jackson2016-07-16
|
* Split brain: Include quilt mode in cache keyIan Jackson2016-07-16
| | | | This can make a radical difference!
* Split brain: Fix unapplied tree handlingIan Jackson2016-07-16
| | | | | | | Do the quiltify_splitbrain_needed if there _are_ patches, not if there aren't. And if we're told it was an unapplied tree, check that HEAD and orig are indeed the same (excluding debian/*, of course) and print a useful message if not.
* Split build: Add a bit more debugging outputIan Jackson2016-07-16
|
* Split brain: Run source build in dgit view directoryIan Jackson2016-07-16
| | | | | And, after the source build is done, copy the resulting files out into the invocation directory's parent, where people expect to find them.
* Split build: Split clean from source build in split build modeIan Jackson2016-07-16
|
* Split brain: some work on integration into the rest of dgitIan Jackson2016-07-16
| | | | | | | | | | | * Move the fast forward die to where we will need to make the synthetic commit, so that the tree equality check is done on the thing we will actually push. * Crash if we are trying to do split brain without split build. (This should never happen.) * Set split build if we need split brain.
* dgit: Rename $suppress_clean to $clean_using_builder (nfc)Ian Jackson2016-07-16
| | | | | This variable name was very confusing. Also, add a comment explaining the semantics.
* Split brain: Quieten dgit-view checkoutIan Jackson2016-07-16
|
* Split brain: introduce quiltmode_splitbrain() (nfc)Ian Jackson2016-07-16
|
* Split brain: Memoise (cache) split brain dgit-view in a reflogIan Jackson2016-07-16
|
* Split brain: Actually get gbp pq output back onto dgit-view branchIan Jackson2016-07-16
| | | | And explain why in a comment.
* Split brain: Transfer gbp-pq patch application output to dgit-view branchIan Jackson2016-07-16
| | | | This code does not work properly yet; it will be fixed soon.
* Split brain: Generate .gitignore patch in deterministic orderIan Jackson2016-07-16
|
* Split brain: Actually generate .gitignore patchIan Jackson2016-07-16
| | | | | | | | | Close our FH onto the file, and run git diff to fill it with the actual diff. Add the file to series. Use git add and git commit to commit the patch to the private git branch. Now most of the code to generate the .gitignore properly is present, I think, but not debugged.
* Split brain: Create debian/patches in case it does not existIan Jackson2016-07-16
| | | | | When we need to make the .gitignore patch, there may not yet be any debian/patches directory.
* Split brain: Add [dgit version ] tag to autogenerated .gitignore patch headerIan Jackson2016-07-16
| | | | So far we still don't generate the patch.
* Split brain: Provide a lot more information to quiltify_splitbrain (nfc)Ian Jackson2016-07-16
| | | | It is going to need this extra info in a moment.
* Split brain: Provide optional $ignorenamesr argument to quiltify_trees_differIan Jackson2016-07-16
| | | | | We are going to need this information to construct the substantive diff for the .gitignores patch.
* Split brain: quiltify_trees_differ: document $ignorenamesrIan Jackson2016-07-16
|
* Split brain: Print $unapplied tree hash to debug log, tooIan Jackson2016-07-16
|
* Split brain: Start work on generating gitignore patchIan Jackson2016-07-16
| | | | Generate a patch header, for now. Still not finished.
* Split brain: Move GIT_COMMITTER_* setting to quiltify_splitbrain toplevel (nfc)Ian Jackson2016-07-16
| | | | | We want this to apply to any commits we use git to make, not just gbp-pq.
* Split brain: Further improvements to split brain patch applicationIan Jackson2016-07-16
| | | | | | * Direct gbp-pq's stdout to /dev/null * Specify GIT_COMMITER_* so that the results are reproducible * Detect .gitignore problem
* Split brain: Pass $clogp to quiltify_splitbrain (nfc)Ian Jackson2016-07-16
| | | | We are going to want this in a moment.
* Split brain: Make clogp_authline capable of returning individual pieces (nfc)Ian Jackson2016-07-16
| | | | | | | | We are going to want this (so that we can set GIT_... variables to the pieces to make git construct commits the way we want). Both current call sites provide scalar context, so no functional change.
* Split brain: Break out $git_authline_reIan Jackson2016-07-16
| | | | | | This will make it a bit easier to reuse it. Actually AFAICT it turns out (looking at the rest of the branch) that this is not needed, but it's nicer for the future I think.
* Split brain: Start work on determining split brain necessityIan Jackson2016-07-16
| | | | | | | | | | | | | | | | | `Split brain' means the situation where `dgit push' makes private commits, to push to the dgit repos server, which are not left on the user's actual branch. Check whether the quilt mode and tree differences, taken together, mean that we need split brain. If we do need split brain, use gbp pq to apply the patch series. .gitignore changes are mishandled, still. And we don't actually follow through much yet. Also, fix a case where quilt mode `apply' hadn't been changed to `unapplied'.
* Split brain: Introduce $diffbits (nfc)Ian Jackson2016-07-16
| | | | | | | Replace ${user,{,un}applied}2${,un}applied with $diffbits->{[HOA]2[HOA]} This encapsulates the info it nicely and makes it easy to pass it to quiltify_splitbrain, which is going to need it.
* Split brain: quiltify_trees_differ: Improve doc commentIan Jackson2016-07-16
|
* Split brain: Rename quilt mode `apply' to `unapplied'Ian Jackson2016-07-16
|
* Split brain: Start introducing gbp (split brain) quilt modeIan Jackson2016-07-16
| | | | | | | | | | | * Replace quilt_could_gbp with new calculation based on three calls to quiltify_trees_differ. * Reworked messages about quilt differences. * Start to provide the `gbp', `apply' and `dpm' quilt modes. Currently we crash with a die if any of these are used. Nevertheless, we allow `gbp' and `apply' to be specified.
* Split brain: Make quiltify_trees_differ clevererIan Jackson2016-07-16
| | | | | | | | Have it be able to explain what was different, by returning a bitmask. Update the call sites. Incidentally, fix a bug where .gitignores other than in the toplevel would not be ignored when they ought to have been.
* Split brain: Include debian/tests/control in fake dscIan Jackson2016-07-16
| | | | | | Found this in a commit "WIP SPLIT BRAIN NEW DIFFS SEEM GOOD". Not sure why (I thought) it was needed. Maybe it should be reverted, but it's probably harmless.
* Split brain: Improve quiltify() messageIan Jackson2016-07-16
| | | | | Actually --quilt=gbp and --quilt=unapplied (well, what's called --quilt=apply here) aren't going to be quite identical.
* Split brain: Move $oldtiptree calculation out of quiltify (nfc)Ian Jackson2016-07-16
| | | | | And pass the result as an argument. Code outside quiltify is going to want this information.
* Split brain: Detect patches-unapplied tree and print a suitable messageIan Jackson2016-07-16
| | | | | | Note that the message refers to `--quilt=gbp' aka `--quilt=apply' which do not exist yet (and which we're going to call something else, later in this series). Oh well.
* Split brain: quiltify_trees_differ supports $ignoregitignore (nfc)Ian Jackson2016-07-16
| | | | We are going to want to handle this specially.
* Split brain: Rename $origtree to $unapplied (nfc)Ian Jackson2016-07-16
| | | | This is clearer.
* Split brain: Capture patches-unapplied tree objectIan Jackson2016-07-16
| | | | | No functional change as yet. But, now the correct value for $origtree is passed to quiltify.
* Split brain: Run dpkg-source --before-build separately (nfc)Ian Jackson2016-07-16
| | | | | | | | We are going to want to capture the patches-unapplied state of the tree as a git tree object. So split out the patch application part of the fake .dsc extraction. No functional change as yet.
* Split brain: Fake .dsc contains d/control and d/changelog tooIan Jackson2016-07-16
| | | | | We will want these because we're going to be doing more exciting dpkg-source and gbp operations etc.
* Split brain: Add $origtree argument to quiltify (nfc)Ian Jackson2016-07-16
| | | | Currently not used, nor any sensible value passed.