dak is the collection of programs used to maintain the Debian project's archives.

Joerg Jaspert 943136c496 Initial "Make it sphinx based" commit 5 years ago
alembic 0bf4c90e93 silence warning "E305 expected 2 blank lines after class or function definition" 5 years ago
config ecabc9c535 update configuration for generate-archive-key for buster 5 years ago
dak 0012d9e8a4 dak admin: Add suite-config {list,get,set} 5 years ago
daklib 78dfea6474 Write some docstrings 5 years ago
dakweb 0bf4c90e93 silence warning "E305 expected 2 blank lines after class or function definition" 5 years ago
debian 88857f1598 Add test coverage 5 years ago
docs 943136c496 Initial "Make it sphinx based" commit 5 years ago
integration-tests 5798560ad3 Merge remote-tracking branches 'nthykier/integration-tests-0002-remove-dup-import-key-calls' and 'nthykier/integration-test-with-minimal-dinstall' 5 years ago
scripts 96d1a29513 generate-archive-key: use pinentry-curses 5 years ago
setup f95130fb74 Add coverage to dak-setup and the dbtests 5 years ago
templates d8bc41320a Add link to backports-new.html (Closes: #784349) 8 years ago
tests f95130fb74 Add coverage to dak-setup and the dbtests 5 years ago
tools 0bf4c90e93 silence warning "E305 expected 2 blank lines after class or function definition" 5 years ago
.coveragerc 88857f1598 Add test coverage 5 years ago
.gitignore 943136c496 Initial "Make it sphinx based" commit 5 years ago
.gitlab-ci.yml 1c10ea0371 Use different css, less eye hurt 5 years ago
.nobackup 75726c66fc .nobackup file to avoid the git getting a not-needed backup 6 years ago
COPYING ef9466093b Imported sources. 24 years ago
README.coding 2edf9af0cc Remove ChangeLog, add README.coding 16 years ago
README.md ecbe6f45b7 Extend README with a bit on how to contribute changes 6 years ago
alembic.ini 527c40ab67 Add initial Alembic config 6 years ago
setup.cfg 2a841d0d9d silence warning "E731 do not assign a lambda expression, use a def" 5 years ago

README.coding

Some small guidelines if you want to help coding
------------------------------------------------

First: I'm always happy to get patches for Dak. I like to merge
enhancements, bugfixes, whatever. The more, the better.

Now, to not annoy us all by coming up with small fixes to patches
multiple times before I merge them, lets write down a few small
guidelines we all should follow. Yes, the current dakV1 code sure won't
follow this everywhere, but no need to have new code be the same. :)

I very much prefer git trees to merge from over simple patches,
especially if you do lots of changes. (No need for a full git tree for a
one-off fix). Reason is simple - its much easier to work with. And it is
also way better in terms of assigning who did what, who has to earn the
praise. :)
In case you have more than one feature you want me to merge, one branch
per feature please. If the location of your git tree is stable and
doesn't change every second day I'm also very grateful. :)


Code related:

- Use readable and self-speaking variable names.

- Its 4 spaces per indentation. No tab.

- You want to make sure to not add useless whitespaces. If your editor
doesn't hilight them, Git can help you with that, just set
[color "diff"]
new = green
old = red
frag = yellow
meta = cyan
commit = normal
in your ~/.gitconfig, and a git diff should hilight them.
Even better, if you enable the hook pre-commit in your copy of the dak
code (chmod +x most probably), git will refuse to commit such things.

- Describe *every* function you write using a docstring. No matter how small.

- Also describe every file.

- Don't forget the Copyright/License header in a file. We expect GPLv2 :)

- Don't write long functions. If it goes above a sane limit (like 50
lines) - split it up.

- Look at / read http://www.python.org/dev/peps/pep-0008/


VCS related:

- History rewriting is considered bad.

- Always have a "Signed-off-by" line in your commit. `git commit -s`
automatically does it for you. Alternatively you can enable the hook
"prepare-commit-msg, that should also do it for you.

- Write good, meaningful, commit messages. We do not have a Changelog
file anymore, the git commit is *the* place to tell others what you
did.
Also, try to use the standard format used in the Git world:

First comes a summary line, of around 72 caracters at most.

Then, a blank line, and as many lines and paragraphs as needed
to describe the change in detail. Beware, though, of including
in the commit message explanations that would be better to have
as comments in the code itself!

Signed-off-by: Your Name