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

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

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