[Debian-science-sagemath] ipywidgets git workflow
Julien Puydt
julien.puydt at laposte.net
Thu Nov 24 22:06:30 UTC 2016
Hi,
On 24/11/2016 18:11, Ximin Luo wrote:
> I'm getting ready to continue work on ipywidgets + widgetsnbextension.
>
> Could you explain to me your git workflow? I'm not very familiar with git-dpm, I just read the online documentation and tried it out - but it looks to me like you're using a combination of git-buildpackage and git-dpm? You have the .git-dpm state file, but you also have a signed tag called upstream/5.2.2 which is how git-buildpackage does things (by contrast git-dpm seems to name things like debian-5.2.2-1 etc).
You asked Gordon, but on the ML, so I think it's ok to answer too:
git-dpm is a requirement of the Debian Python Modules Team, so you have
to use it (https://wiki.debian.org/Python/GitPackaging). Sorry...
My usual workflow for a DPMT package is the following:
(I) to get the package ready for work :
(1) gbp clone dpmt:whatever
(get the sources)
(2) cd whatever
(well)
(3) git-dpm prepare
(git-dpm checks out the tarball)
(4) git-dpm status
(you should get a few warnings but it should say everything is ok :
you didn't nothing wrong yet!)
(II) to update to latest upstream:
(1) uscan
(get the new tarball)
(2) git-dpm import-new-upstream --rebase ../whatever_version.orig.tar.gz
(hopefully the patches will rebase cleanly)
(3 -- clean rebase case) --
(type the command git-dpm tells you to type for pristine-tar)
(3 -- no clean rebase case) --
(you should already know how to clean a git rebase)
(4 -- no clean rebase case) git-dpm update-patches
(git-dpm will update the patches and get you back to master)
(5 -- common) dch -v version-1
(stop using git-dpm and get on my way)
(III) to create a new patch:
(1) git-dpm checkout-patched
(all the debian patches turn into commits in a branch)
(2) --
(work on new patches)
(3) git-dpm update-patches
For all the rest, I use the usual git + gbp workflow : I just check
"git-dpm status" to see the beast is still asleep on a regular basis.
As for the tags git-dpm makes, I have the following in debian/.git-dpm:
debianTag="debian/%e%v"
patchedTag="patched/%e%v"
upstreamTag="upstream/%e%u"
When I'm finished pushing&tagging on a DPMT repo, I generally "rm -rf"
it, so I'm sure I won't accidentally work again inside without realizing
my mistake and get git-dpm angry.
I hope this message will still be helpful,
Snark on #debian-python
More information about the Debian-science-sagemath
mailing list