Debian Edu Git
Beginning with Debian Edu wheezy (7.0) Debian Edu development was moved from using SVN to using Git (both on Alioth); since 2018-05-30, the Debian Edu Git repositories are hosted on https://salsa.debian.org, Alioth has been shut down on 2018-06-01.
Setting up a Debian Edu related Git project
Create a folder with the name of your Git repository:
$ mkdir ~/<my-edu-project>
Enter that directory and initialize an empty Git repository in that folder:
$ cd ~/<my-edu-project> $ git init
- Then create files in that folder.
Then make Git aware of these files:
$ git add <file1> <file2> ... <fileN>
Then commit the files locally:
$ git commit [<file1> <file2> ... <fileN>|-a] -m "<commit-message>"
Continue with your work (add/edit files, commit working steps, etc.) until you think that your package needs to be pushed to the Debian Edu namespace on https://salsa.debian.org.
For a Git based Debian packaging workflow, please refer to this page: http://wiki.debian.org/PackagingWithGit
initialize new git repository in the Debian Edu namespace
See the Salsa related instructions available here: https://wiki.debian.org/Salsa
contributing to an already existing Git project
Clone the repository that you want to contribute to and get acquainted to the Git workflow used for that package. Recommended workflow for packaging is taking advantage of tools like git-buildpackage, pristine-tar, git-import-orig, git-import-dsc and others.
Again: refer to this location: http://wiki.debian.org/PackagingWithGit
Notes for those who used git on Alioth before
If you used Git ssh access already on Alioth for a repository, you'd want to
upload your public ssh key to Salsa (via Settings after logged in on https://salsa.debian.org)
- request membership for the project
replace url = git+ssh://git.debian.org/git/ with url = firstname.lastname@example.org: in the project related local .git/config file
- continue to work just like before
Before Git we used Subversion
SVN-2-Git Migration Status
The migration status of the Debian Edu project files from SVN to Git to Salsa is documented here. Please note the different locations debian-edu, debian-edu/upstream and debian-edu-pkg-team on Salsa.
SVN vs. Git
For those that are not familiar with Git there are some major differences in a Git-based workflow compared to an SVN-based workflow.
- Git commits are local first, with Git you can work offline.
- Git pushes (to a central location) are similar to SVN commits. However, Git pushes can contain several local commits whereas an SVN commit is just a single commit.
- With Git we have loads of little repositories (one per Debian package), with SVN we just had a huge directory tree.
- With Git tags and branches are much nicer and completely different from the handling in SVN.
Git does not know about folders. Git only know files. If you intend to place a(n empty) folder somewhere inside a Git repos you have to create an empty .placeholder file in that folder.