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
git-migration [2009/05/01 21:31]
kelnos
git-migration [2010/10/02 17:26] (current)
Line 1: Line 1:
 ====== Git Migration ====== ====== Git Migration ======
  
-We intend to switch to Git at some point in the near future. ​ This is a collection of links and resources about transitioning from svn to git so I don't forget them.+The git conversion is done.  Most of the stuff below is accurate. ​ We ended up migrating all our i18n stuff to [[http://​transifex.org|Transifex]],​ and we don't allow direct commit access to the git repositories by translators. ​ All code committers have ssh accounts on the server that are restricted using git-shell. ​ For more information,​ see our [[dev:​howto:​git|git how-to page]]. 
 + 
 +<del>We intend to switch to Git at some point in the near future.</​del> ​ This is a collection of links and resources about transitioning from svn to git so I don't forget them.
  
 ===== Resources ===== ===== Resources =====
  
 +  * [[http://​git.xfce.org/​admin/​xfce-git-migration|Our conversion tools]]
   * [[http://​live.gnome.org/​GitMigration|GNOME'​s experiences with migrating to git]]   * [[http://​live.gnome.org/​GitMigration|GNOME'​s experiences with migrating to git]]
   * [[http://​git.gnome.org/​cgit/​gnome-git-migration/​|GNOME'​s scripts and other migration goodies]]   * [[http://​git.gnome.org/​cgit/​gnome-git-migration/​|GNOME'​s scripts and other migration goodies]]
-  * possible conversion tool: [[http://​repo.or.cz/​w/​svn-all-fast-export.git|svn-all-fast-export]] +  * <del>possible conversion tool: [[http://​repo.or.cz/​w/​svn-all-fast-export.git|svn-all-fast-export]]</​del>​ 
-  * another possible conversion tool(?): [[http://​repo.or.cz/​w/​fast-export.git|fast-export]]+  * <del>another possible conversion tool(?): [[http://​repo.or.cz/​w/​fast-export.git|fast-export]]</​del>​
   * [[http://​blogs.gnome.org/​simos/​2009/​04/​08/​towards-a-gnome-cli-translation-management-tool/​|possible new i18n commit tool]]   * [[http://​blogs.gnome.org/​simos/​2009/​04/​08/​towards-a-gnome-cli-translation-management-tool/​|possible new i18n commit tool]]
   * stuff about [[http://​mail.gnome.org/​archives/​gnome-infrastructure/​2009-April/​msg00133.html|autogenerated ChangeLogs]]   * stuff about [[http://​mail.gnome.org/​archives/​gnome-infrastructure/​2009-April/​msg00133.html|autogenerated ChangeLogs]]
   * Behdad'​s [[http://​git.gnome.org/​cgit/​pango/​tree/​git.mk|.gitignore auto-generator]]   * Behdad'​s [[http://​git.gnome.org/​cgit/​pango/​tree/​git.mk|.gitignore auto-generator]]
  
-===== Missing ​Stuff =====+===== Stuff That's Done =====
  
-  * pre-commit permissions-handling hooks 
   * svn username -> realname+email mapping   * svn username -> realname+email mapping
-    * We have one of these for the git-svn repos, but people might not want the email I picked to be the one used.+    * People with a https account on svn.xfce.org:​ Set your personal details [[https://​svn.xfce.org/​account/​|here]]. 
 +    * [[http://​git.xfce.org/​kelnos/​xfce-git-migration/​tree/​Makefile|Makefile]] handles generating this mapping. 
 +  * SVN -> git conversion script 
 +    * See [[http://​git.xfce.org/​kelnos/​xfce-git-migration/​tree/​svn2git.sh|here]]. ​ So far it's working <​del>​(it'​s about 2/3 of the way through the main Xfce repository, haven'​t gotten to goodies yet), but needs a lot more testing, and the generated repos haven'​t been verified yet</​del> ​ --- //​[[kelnos@xfce.org|Brian Tarricone]] 2009/05/06 20:07// 
 +  * Generated ​git repo verification script. 
 +    * See [[http://​git.xfce.org/​kelnos/​xfce-git-migration/​tree/​compare-repos.sh|here]]. ​ It seems to work well so far, but still needs a little more work --- //​[[kelnos@xfce.org|Brian Tarricone]] 2009/05/09 00:43// 
 + 
 +===== Stuff In Progress ===== 
 + 
 +  * pre-commit permissions-handling hooks (Brian) 
 +  * commit mail hook (Jannis) 
 +  * i18n checkout tool ([[http://​mocha.xfce.org/​~kelnos/​testing/​xdt-i18n|untested version]]) 
 + 
 +===== Missing Stuff ===== 
 + 
 +  * I18n stats pulled from git (Stephan, I presume, will do this)
  
 ===== Open Questions (please discuss!) ===== ===== Open Questions (please discuss!) =====
Line 31: Line 48:
       * Git has no support for access control. If we want fine-grained permissions we'll have to implement an access control script in one of the hooks that can reject a commit. --- //​[[jannis@xfce.org|Jannis Pohlmann]] 2009/04/19 23:37//       * Git has no support for access control. If we want fine-grained permissions we'll have to implement an access control script in one of the hooks that can reject a commit. --- //​[[jannis@xfce.org|Jannis Pohlmann]] 2009/04/19 23:37//
     * I prefer one big tree too, I don't see a good reason why we should split that up.  --- //​[[stephan@xfce.org|Stephan Arts]] 2009/04/20 12:16//     * I prefer one big tree too, I don't see a good reason why we should split that up.  --- //​[[stephan@xfce.org|Stephan Arts]] 2009/04/20 12:16//
-  * How do we handle per-user repos -- want to allow people to create throwaway repos or just host "​middle ground"​ stuff that's somewhat Xfce/​Gtk/​whatever-related,​ but maybe not quite "Xfce enough"​ to be in the main repo? (e.g., see [[http://​cgit.freedesktop.org/​|cgit.fd.o]];​ scroll down a bit to see the ~ repos.)+  * How do we handle per-user repos -- want to allow people to create throwaway repos or just host "​middle ground"​ stuff that's somewhat Xfce/​Gtk/​whatever-related,​ but maybe not quite "Xfce enough"​ to be in the main repo? (e.g., see [[http://​cgit.freedesktop.org/​|cgit.fd.o]];​ scroll down a bit to see the ~ repos.)
     * Possibly we'd do this with a [[http://​gitorious.org|Gitorious]] instance, but need to investigate more.  This can be punted to later. ​ --- //​[[kelnos@xfce.org|Brian Tarricone]] 2009/04/19 14:51//     * Possibly we'd do this with a [[http://​gitorious.org|Gitorious]] instance, but need to investigate more.  This can be punted to later. ​ --- //​[[kelnos@xfce.org|Brian Tarricone]] 2009/04/19 14:51//
     * I would prefer the freedesktop way for this. Xfce core components start with xfce/​{xfwm4,​xfdesktop,​xfce4-panel,​thunar,​...},​ goodies/... and ~nick/​something. --- //​[[nickschermer@gmail.com|Nick Schermer]] 2009/04/19 18:55//     * I would prefer the freedesktop way for this. Xfce core components start with xfce/​{xfwm4,​xfdesktop,​xfce4-panel,​thunar,​...},​ goodies/... and ~nick/​something. --- //​[[nickschermer@gmail.com|Nick Schermer]] 2009/04/19 18:55//
 +  * Branch/tag name rewriting: we have old nasty branch/tag names like "​xfce_4_4"​ and "​xfce_4_4_2"​ in our tree because of CVS's limitations back in the day.  We never remedied this situation when we switched to SVN.  Prettier names like "​xfce-4.4"​ and "​xfce-4.4.2"​ are possible now.  Should these be changed?
 +    * Current [[http://​git.xfce.org/​kelnos/​xfce-git-migration/​tree/​svn2git.sh|script]] does change these. ​ Jannis agrees this is a good idea.  --- //​[[kelnos@xfce.org|Brian Tarricone]] 2009/05/06 20:07//
 +  * The GNOME guys rewrote their commit messages on the fly while converting to make them more like the git recommended commit msg pattern (max 72 char single line shortlog, blank line, freeform larger description). ​ Should we do this too?
 +    * Probably not.  Our commit messages are all over the place with regard to how they'​re formatted, and xdt-commit generates commit messages that are pretty impossible to extract one-line summaries from.  Jannis agrees. --- //​[[kelnos@xfce.org|Brian Tarricone]] 2009/05/06 20:22//