Difference between revisions of "Service/git"
< Service
Jump to navigation
Jump to search
(→Tips) |
(→Notes) |
||
Line 62: | Line 62: | ||
Mailer.deliver_forgotten_password(user, password_key) | Mailer.deliver_forgotten_password(user, password_key) | ||
− | # add | + | # add repository committer |
committer = User.find_by_login("user") | committer = User.find_by_login("user") | ||
repo = Repository::find_by_path("sugar/mainline") | repo = Repository::find_by_path("sugar/mainline") | ||
Line 71: | Line 71: | ||
repo = Repository::find_by_path("sugar/mainline") | repo = Repository::find_by_path("sugar/mainline") | ||
repo.committerships = repo.committerships.select {|i| !i.members.include? committer } | repo.committerships = repo.committerships.select {|i| !i.members.include? committer } | ||
+ | |||
+ | # change repository owner | ||
+ | new_owner = User.find_by_login("user") | ||
+ | repo = Repository::find_by_path("sugar/mainline") | ||
+ | cs = repo.committerships.select {|i| i.committer == new_owner}.pop | ||
+ | cs.permissions = (Committership::CAN_ADMIN | Committership::CAN_COMMIT | Committership::CAN_REVIEW) | ||
+ | cs.save! | ||
+ | repo.owner = new_owner | ||
+ | repo.save! | ||
== Upgrade notes == | == Upgrade notes == | ||
Upgrade will be triggered on every puppet session (if there is such need), vcs repository will be rebased to the HEAD commit with all related changes like database migration. | Upgrade will be triggered on every puppet session (if there is such need), vcs repository will be rebased to the HEAD commit with all related changes like database migration. |
Revision as of 01:57, 12 November 2010
Hostnames
Hardware
Administrative contact
git AT sugarlabs DOT org
Sysadmins
For non-emergency calls, preferably send email to the administrative contact.
- Aleksey Lim
- puppet related stuff is still in progress of settling down
Notes
Gitorious hosting.
Home | /srv/gitorious
|
---|---|
Main service | gitorious-all
|
Database tweaks
To make runtime changes in Gitorious database, follow regular Rails workflow - run scripts/console
:
cd /srv/gitorious/app sudo -u gitorious RAILS_ENV=production script/console
It is regular Ruby console and all feature like TAB
completion work. To tweak Gitorious data, just use its model classes, e.g.:
# search of particular object by its attributes user = User.find_by_login("user") project = Project.find_by_title("project") # get object attributes user.email # change object attributes project.owner = User.find_by_email("foo@bar") project.save! # destroy object and all its dependencies user.destroy
Tips
# reset user password user = User.find_by_email("user") password_key = user.forgot_password! Mailer.deliver_forgotten_password(user, password_key) # add repository committer committer = User.find_by_login("user") repo = Repository::find_by_path("sugar/mainline") repo.committerships.create_with_permissions!({:committer => committer}, (Committership::CAN_COMMIT)) # delete repository committer committer = User.find_by_login("user") repo = Repository::find_by_path("sugar/mainline") repo.committerships = repo.committerships.select {|i| !i.members.include? committer } # change repository owner new_owner = User.find_by_login("user") repo = Repository::find_by_path("sugar/mainline") cs = repo.committerships.select {|i| i.committer == new_owner}.pop cs.permissions = (Committership::CAN_ADMIN | Committership::CAN_COMMIT | Committership::CAN_REVIEW) cs.save! repo.owner = new_owner repo.save!
Upgrade notes
Upgrade will be triggered on every puppet session (if there is such need), vcs repository will be rebased to the HEAD commit with all related changes like database migration.