Xonotic Forums
git repository maintenance (xonotic-maps) - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Development (https://forums.xonotic.org/forumdisplay.php?fid=12)
+--- Thread: git repository maintenance (xonotic-maps) (/showthread.php?tid=390)

git repository maintenance (xonotic-maps) - divVerent - 05-06-2010

It looks like I have to recreate the "xonotic-maps" repository as it contains a lot of data that is not referenced any more (the old Nexuiz maps), and will not ever be.

For now, I want everyone to push their branches to the repository - even if they are not ready for merging yet.


At a later point, write access to the repository will get turned off, the required rewrite will be done to the reposiotory, and ALL users will have to delete their checkout of the xonotic-maps.pk3dir.git repository and clone it again. Possibly, a new name will be used for the xonotic-maps repository to make the transition easier.

The other repositories need no such maintenance, and most likely never will.

In case someone forgets to push a branch, there will be a replacement procedure to bring the repo back into a working state. That procedure however takes about 2 hours of CPU time, so better avoid it.

Technical note: the modifications done to the repository are in the file attached to this post.

RE: git repository maintenance (xonotic-maps) - divVerent - 05-06-2010

Background: this is because a whole lot of files were deleted, or moved to the xonotic-nexcompat repository. However, as a git repository always contains the full history, these files still are downloaded with the xonotic-data repository and take up about 500 extra MB. That is what I will get rid of.

RE: git repository maintenance (xonotic-maps) - Cuinnton - 05-07-2010

I don't understand what you mean by branches sorry?

RE: git repository maintenance (xonotic-maps) - lda17h - 05-07-2010

This might help:


RE: git repository maintenance (xonotic-maps) - divVerent - 05-07-2010

(05-07-2010, 01:25 AM)Cuinnton Wrote: I don't understand what you mean by branches sorry?

It means that whoever has changes in his git checkout of the maps repository, shall back up his changes.

The preferred way to do this, is to simply commit and push them to the repository into a branch. Then these will be converted the correct way when I perform the change.

If you have no commit access to the repository, you do not need to do anything, other than maybe deleting the xonotic-maps.pk3dir directory of your checkout and rerunning ./all update AFTER THE CHANGE HAS BEEN PERFORMED.

RE: git repository maintenance (xonotic-maps) - divVerent - 05-10-2010

Maintenance is finished. Now you can:

- either: just delete data/xonotic-maps.pk3dir and run ./all update
- or: ./all update, and in data/xonotic-maps.pk3dir, do the following commands:
for b in `git for-each-ref --format='%(refname)'`; do
  git checkout "$b"
  git reset --hard "origin/$b"

This assumes you have NO LOCAL CHANGES in any of your branches! If you DO have them, you have to manually fix it.

For each such branch, manually:
- git checkout branchname
- (possibly) undo the merge ./all update has done
- git rebase --onto=origin/branchname origin/branchname@{1}

RE: git repository maintenance (xonotic-maps) - PineTrees - 05-11-2010

18:48 <r00t_> git really sucks
18:48 <r00t_> I had to delete a file because there was some stupid conflict
18:48 <r00t_> when I did ./all update it didn't replace the files
18:48 <r00t_> so then I deleted the darkplaces dir
18:48 <r00t_> still wouldnt replace
18:49 <r00t_> wouldn't let me git pull either as it said I was in the middle of a merge conflict
18:49 <r00t_> I had to delete the whole xonontic tree
18:49 <r00t_> and then re get it
18:49 <r00t_> git suck sass
18:49 <r00t_> ass
18:49 <r00t_> with svn it's easy
18:50 <r00t_> delete a file and svn will replace it for you when you update
18:50 <r00t_> Git SUCKS
Had to re download the whole billion terabyte repo

RE: git repository maintenance (xonotic-maps) - divVerent - 05-13-2010

You could also have read this post, and had been prepared for the change, and done the right thing after it.

RE: git repository maintenance (xonotic-maps) - -z- - 05-15-2010

git is far better than SVN, especially for a project like this. Thank you for all the work you've put into organizing the branches and making the code more accessible to people of all skill levels divVerent.