-
Notifications
You must be signed in to change notification settings - Fork 99
Developer Notes
See CONTRIBUTING.md for the comprehensive guide how to contribute code to this project.
The current wiki page contains a few addenda and supporting resources for netatalk developers.
The examples in the following sections are based off of the tools and syntax used by git v1.5.3 or later. Either apt-get, yum, or make install the tools. See Git documentation for more details on this part.
The mother git repository is located at
https://github.com/Netatalk/netatalk.git
If you are a Netatalk team member, you create and push work branches directly in the mother repository.
If you are an non-member code contributor (thank you for volunteering!) then work from your own fork of the Netatalk repository. Please follow the GitHub workflow to create your fork, and then clone that fork in the steps below.
Step Zero is to set your name and email address for commits:
$ git config --global user.email [email protected]
$ git config --global user.name "Your Real Name"
Next, clone the repository:
$ git clone https://github.com/Netatalk/netatalk.git
Initialized empty Git repository in /home/frank/test/.git/
remote: Counting objects: 31503, done.
remote: Compressing objects: 100% (11427/11427), done.
remote: Total 31503 (delta 24830), reused 25450 (delta 19869)
Receiving objects: 100% (31503/31503), 6.52 MiB | 2.38 MiB/s, done.
Resolving deltas: 100% (24830/24830), done.
$ cd netatalk
List local and remote branches:
$ git branch
* main
$ git branch -r
origin/branch-netatalk-2-0
origin/branch-netatalk-2-1
origin/branch-netatalk-2-2
origin/branch-netatalk-3-0
origin/branch-netatalk-3-1
origin/main
Creating your own working branch from main:
$ git checkout main
$ git checkout -b my_branch
Branch my_branch set up to track remote branch refs/remotes/origin/develop.
Switched to a new branch "my_branch"
Do your own local work:
$ mkdir git-test
$ echo "hello" > git-test/README
View status of changes
$ git status
# On branch my_branch
# Untracked files:
# (use "git add `<file>`..." to include in what will be committed)
#
# git-test/
nothing added to commit but untracked files present (use "git add" to track)
Add our new file to the local branch index:
$ git add git-test
$ git status
# On branch my_branch
# Changes to be committed:
# (use "git reset HEAD `<file>`..." to unstage)
#
# new file: git-test/README
#
Commit changes:
$ git commit -m "Example file for HOWTO"
Created commit ad9a1eb: Example file for HOWTO
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 git-test/README
Do some more work and commit local changes...
Now fetch the remote branch history:
$ git fetch
To present your patchset properly to other developers, please rebase your patches against the branch you are developing against:
$ git rebase origin/main
Obviously, replace "origin/main" by whatever branch you are developing against. If you have created a mess in your local patch queue, "git rebase -i" might help you out.
- AFP Programming Guide
- AFP Reference Guide
- Inside Macintosh: Macintosh Toolbox Essentials Chapter 7 - Finder Interface
- Inside AppleTalk: AppleTalk Filing Protocol v1.1
- Finder Interface Reference
- Technical Note TN1150 HFS Plus Volume Format
- CarbonHeaders source
- Mac OS X 10.6.2 source
- AppleSingle and AppleDouble v1 format internals
- AppleSingle/AppleDouble Formats for Foreign Files Developer's Note (version2)
- AppleShare: Platforms and Mac OS Releases Supported
- AppleShare and AppleShare IP File Sharing: Chart of All Limitations
- AFP Version Differences
Resources
- Getting Started
- FAQ
- Troubleshooting
- Connect to AFP Server
- Webmin Module
- Benchmarks
- Interoperability with Samba
OS Specific Guides
- Installing Netatalk on Alpine Linux
- Installing Netatalk on Debian Linux
- Installing Netatalk on Fedora Linux
- Installing Netatalk on FreeBSD
- Installing Netatalk on macOS
- Installing Netatalk on NetBSD
- Installing Netatalk on OmniOS
- Installing Netatalk on OpenBSD
- Installing Netatalk on OpenIndiana
- Installing Netatalk on openSUSE
- Installing Netatalk on Solaris
- Installing Netatalk on Ubuntu
Tech Notes
- Capturing AFP network traffic
- Kerberos
- Special Files and Folders
- Spotlight
- MySQL CNID Backend
- Slow AFP read performance
- Limiting Time Machine volumes
- Netatalk and ZFS nbmand property
Retro AFP
Development