Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:howto:git [2009/08/18 20:36]
kelnos update translator info
dev:howto:git [2017/06/12 12:58] (current)
skunnyk
Line 1: Line 1:
 ====== Xfce.org Git Infrastructure ====== ====== Xfce.org Git Infrastructure ======
  
-**All Xfce SVN repos have been converted to git.**+**This documentation is obsolete ! Please see http://docs.xfce.org/​contribute/​dev/​start** 
 + 
  
 ===== Account Setup ===== ===== Account Setup =====
  
-If you have an xfce.org Subversion account that does **not** include ssh access (that is, you check in using https), you will need to apply to get your account converted [[https://foo-projects.org/node/3|here]]. ​ Fill out the form with the same info you used previously, but remember to include a ssh public key in the appropriate box. Translators:​ [[dev:​howto:​git#​translator_access|see here]].+If you have an xfce.org Subversion account that does **not** include ssh access (that is, you check in using https), you will need to apply to get your account converted [[https://releases.xfce.org/login/request|here]]. ​ Fill out the form with the same info you used previously, but remember to include a ssh public key in the appropriate box. Translators:​ [[dev:​howto:​git#​translator_access|see here]].
  
 If you used the "​old"​ git.xfce.org,​ and used clone/push URLs like "''​git@git.xfce.org:​$USER/​$MODULE''",​ then you should follow the directions above as well. If you used the "​old"​ git.xfce.org,​ and used clone/push URLs like "''​git@git.xfce.org:​$USER/​$MODULE''",​ then you should follow the directions above as well.
Line 13: Line 15:
 If you already have a ssh shell account on git.xfce.org (aka mocha.xfce.org),​ your account information has not been changed and you are ready to go. If you already have a ssh shell account on git.xfce.org (aka mocha.xfce.org),​ your account information has not been changed and you are ready to go.
  
-If you do not have an xfce.org account at all, you'll need to request one using [[https://​foo-projects.org/​node/​3|the usual process]].+If you do not have an xfce.org account at all, you'll need to request one as explained on [[/contribute#​getting_a_git_account|that page]].
  
 ===== Usage ===== ===== Usage =====
Line 25: Line 27:
 or or
  
-<​code>​git clone http://​git.xfce.org/git/​$TYPE/​$MODULE</​code>​+<​code>​git clone http://​git.xfce.org/​$TYPE/​$MODULE</​code>​
  
 ''​$TYPE''​ is one of '​apps',​ '​bindings',​ '​xfce',​ etc.  See the italicized group names in the [[http://​git.xfce.org/​|CGit index]]. ''​$TYPE''​ is one of '​apps',​ '​bindings',​ '​xfce',​ etc.  See the italicized group names in the [[http://​git.xfce.org/​|CGit index]].
Line 38: Line 40:
 git config --global user.email jrandom@example.com</​code>​ git config --global user.email jrandom@example.com</​code>​
  
-**Also**, you must subscribe this address to the [[http://foo-projects.org/​mailman/​listinfo/​xfce4-commits|xfce4-commits]] mailing list.  If you don't wish to receive mail from this list, you can disable mail delivery. ​ If you do not subscribe, commit notifications will not go to the list.  We're working on a way to remove this requirement,​ but for now you will need to be subscribed.+**Also**, you must subscribe this address to the [[http://mail.xfce.org/​mailman/​listinfo/​xfce4-commits|xfce4-commits]] mailing list.  If you don't wish to receive mail from this list, you can disable mail delivery. ​ If you do not subscribe, commit notifications will not go to the list.  We're working on a way to remove this requirement,​ but for now you will need to be subscribed. At the moment, committing with an @xfce.org email doesn'​t put that requirement thus you can run the command above without the ''​%%--global%%''​ option in your individual Xfce projects.
  
 If you have a ssh account, you can clone a repository with: If you have a ssh account, you can clone a repository with:
  
-<​code>​git clone ssh://$USERNAME@git.xfce.org/git/​$TYPE/​$MODULE</​code>​+<​code>​git clone ssh://git@git.xfce.org/​$TYPE/​$MODULE</​code>​
  
-This will automatically set up the '​origin'​ remote in the cloned repository to point to that location, so a "git push" will do the right thing. ​ If your local username is the same as your git.xfce.org ssh username, you can omit the ''​$USERNAME@'' ​portion of the URL.+This will automatically set up the '​origin'​ remote in the cloned repository to point to that location, so a "git push" will do the right thing. ​You can also clone through a regular ​''​git:'' ​url and add the following snippet to ''​.git/​config''​ : 
 +<​code>​ 
 +[url "​ssh://​git@git.xfce.org"​] 
 +        pushInsteadOf = "​git://​git.xfce.org"​ 
 +</​code>​
  
 Unfortunately,​ we cannot support https pushes at this time due to limitations in the Git http protocol support. ​ If you are unable to communicate with git.xfce.org on port 22, ''​git push''​ will not work for you. Unfortunately,​ we cannot support https pushes at this time due to limitations in the Git http protocol support. ​ If you are unable to communicate with git.xfce.org on port 22, ''​git push''​ will not work for you.
Line 56: Line 62:
 ===== Account Maintenance ===== ===== Account Maintenance =====
  
-To change ​or set your password, run: +To change your password ​and manage ​your active ssh keys, you should login to the [[https://releases.xfce.org/|release manager]] and go to the profile page.
- +
-<​code>​ssh -t $USERNAME@git.xfce.org passwd</​code>​ +
- +
-(The ''​-t''​ option makes it so your password won't get echoed to the terminal as you type it; if you don't care, feel free to leave it out.) +
- +
-To list your active ssh keys, run: +
- +
-<​code>​ssh $USERNAME@git.xfce.org ssh-key-admin list-keys</​code>​ +
- +
-To add a ssh key, run: +
- +
-<​code>​ssh $USERNAME@git.xfce.org ssh-key-admin add-key "​ssh-rsa kjlsdkf... me@example.com"</​code>​ +
- +
-Be sure to remember ​the quotes around the key data itself. ​ Paste the entire contents of your ''​.pub''​ file (usually ''​$HOME/.ssh/id_rsa.pub''​ or ''​$HOME/​.ssh/​id_dsa.pub''​). +
- +
-To remove a ssh key, run: +
- +
-<​code>​ssh $USERNAME@git.xfce.org ​ssh-key-admin del-key me@example.com<​/code> +
- +
-You'll need to use the "key comment"​ when removing keys, which is the last section of the key data in the key file (everything from the last space to the end of the line). ​ You can use the ''​list-keys''​ command above to get a list.+
  
 ===== New Repositories ===== ===== New Repositories =====
  
-For '​Goodies'​ developers, we used to have an "open repository creation"​ policy in our Subversion repo in which any user with write access could create a new module for a new project. ​ With the move to Git, this is no longer possible. ​ You will need to request the creation of a new Git repo by emailing [[xfce-repo-admin@xfce.org]] to request a new module. ​ Please include the module name, which category it should be under (apps, art, bindings, libs, panel-plugins,​ or thunar-plugins),​ a description of the module, and a rationale as to why it should be hosted on git.xfce.org (instead of github, gitorious, etc.). ​ Note that requests to be added to the '​admin,'​ '​archive,'​ or '​xfce'​ categories will be denied.+For '​Goodies'​ developers, we used to have an "open repository creation"​ policy in our Subversion repo in which any user with write access could create a new module for a new project. ​ With the move to Git, this is no longer possible. ​ You will need to request the creation of a new Git repo by emailing [[xfce-repo-admin@xfce.org]] to request a new module. ​ Please include ​your git.xfce.org ssh username, ​the module name, which category it should be under (apps, art, bindings, libs, panel-plugins,​ or thunar-plugins),​ a description of the module, and a rationale as to why it should be hosted on git.xfce.org (instead of github, gitorious, etc.). ​ Note that requests to be added to the '​admin,'​ '​archive,'​ or '​xfce'​ categories will be denied.
  
 ===== Policies ===== ===== Policies =====
Line 102: Line 88:
 ===== Commit Notifications ===== ===== Commit Notifications =====
  
-We are doing away with the goodies-commits email list.  All commit mails in all git repositories will go to the [[http://foo-projects.org/​mailman/​listinfo/​xfce4-commits|xfce4-commits list]]. ​ The subject lines of the emails should be pretty easy to filter on if you only want a subset of emails. ​ We generate one commit mail per commit object (and for some other things too), so if you push a large number of commits, you'll generate a large number of emails.+We are doing away with the goodies-commits email list.  All commit mails in all git repositories will go to the [[http://mail.xfce.org/​mailman/​listinfo/​xfce4-commits|xfce4-commits list]]. ​ The subject lines of the emails should be pretty easy to filter on if you only want a subset of emails. ​ We generate one commit mail per commit object (and for some other things too), so if you push a large number of commits, you'll generate a large number of emails.
  
 ===== Tips and Tricks ===== ===== Tips and Tricks =====