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

Chris Lamb fbd3f26246 Make package-uses-vendor-specific-patch-series nonfatal (re. #904302). 6 years ago
alembic bff58e971e Ignore views for Alembic migrations 6 years ago
config fbd3f26246 Make package-uses-vendor-specific-patch-series nonfatal (re. #904302). 6 years ago
dak 5d4721ff94 process-upload: catch InvalidChangesException 6 years ago
daklib a144bb494e Merge branch 'pu/changes-binary-field' 6 years ago
dakweb 6aa73d0ecc dakweb: create /source/by_metadata 6 years ago
debian b42a9e2654 d/control: Debian buster now has PostgreSQL 11 6 years ago
docs 364c918539 the name of the script has been changed 6 years ago
integration-tests 57e233f155 run-tests: also look for PostgreSQL 11 6 years ago
scripts 21d6554436 Convert to print function 6 years ago
setup ef6fe32b95 Initialize data via COPY commands 6 years ago
templates d8bc41320a Add link to backports-new.html (Closes: #784349) 8 years ago
tests 10577d4081 add unit tests for rich comparisons 6 years ago
tools 21d6554436 Convert to print function 6 years ago
.coveragerc b25c34eab5 Convert test suite to use pytest 7 years ago
.gitignore b25c34eab5 Convert test suite to use pytest 7 years ago
.gitlab-ci.yml e94764a163 add job for epydoc documentation 6 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 34d63b51d1 Fix E231: Missing whitespace after ',', ';', or ':' 6 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