From a75480724dd143f2a7fd7a7d065d01b60e13c837 Mon Sep 17 00:00:00 2001 From: Trilarion Date: Mon, 11 Jun 2018 14:01:27 +0200 Subject: [PATCH] fix entries, git archive, import of sources from sge2d to github --- games/action/catmother.md | 2 +- games/adventure/_toc.md | 2 +- games/adventure/adaventure.md | 2 +- games/adventure/clou.md | 2 +- games/adventure/solaris.md | 3 +- games/framework/_toc.md | 2 +- games/framework/annchienta.md | 2 +- games/framework/arianne.md | 2 +- games/framework/atlantis.md | 12 +- games/framework/blender_game_engine.md | 2 +- games/framework/deltaengine.md | 2 +- games/framework/irrlicht.md | 2 +- games/framework/lumix.md | 2 +- games/framework/mana_source.md | 2 +- games/framework/maratis.md | 2 +- games/framework/octaforge.md | 2 +- games/framework/ogre3d.md | 2 +- games/framework/ohrrpgce.md | 2 +- games/framework/orx.md | 2 +- games/framework/pygame.md | 2 +- games/framework/pyorpg.md | 2 +- games/framework/qt.md | 2 +- games/framework/sge2d.md | 4 +- games/framework/vegastrike.md | 2 +- games/framework/worldforge.md | 2 +- games/library/pkgconfig.md | 2 +- games/library/xz.md | 2 +- games/statistics.md | 6 +- games/strategy/age_of_magic.md | 2 +- games/strategy/katomic.md | 2 +- games/strategy/scorched_moon.md | 2 +- tools/git_archive/archives.json | 176 ++++++++++++++++++++++++- tools/git_archive/update.py | 28 +++- tools/maintenance.py | 45 +++++-- 34 files changed, 268 insertions(+), 60 deletions(-) diff --git a/games/action/catmother.md b/games/action/catmother.md index 701954bb..f1904136 100644 --- a/games/action/catmother.md +++ b/games/action/catmother.md @@ -5,7 +5,7 @@ _3D-engine (C++/DirectX9) and a fully playable prototype of a 3rd person action/ - Home: http://catmother.sourceforge.net/, https://sourceforge.net/projects/catmother/ - Download: https://sourceforge.net/projects/catmother/files/ - State: beta, inactive since 2003 -- Code repository: https://sourceforge.net/p/catmother/code/HEAD/tree/ (svn) +- Code repository: https://svn.code.sf.net/p/catmother/code/ (svn) - Code language: C++ - Code license: BSD diff --git a/games/adventure/_toc.md b/games/adventure/_toc.md index ba13627e..6b6313dc 100644 --- a/games/adventure/_toc.md +++ b/games/adventure/_toc.md @@ -12,7 +12,7 @@ - **[Murder In The Public Domain](murder_in_the_public_domain.md)** (GPL-3.0, mature) - **[Sentient Storage](sentient_storage.md)** (Python, Public Domain, mature) - **[Sintel The Game](sintel.md)** (Python, MIT, beta, inactive since 2014) -- **[Solaris the Game](solaris.md)** (beta) +- **[Solaris the Game](solaris.md)** (beta, inactive since 2010) - **[Star Maiden Rio](star_maiden_rio.md)** (Ren'py, CC-BY-NC, mature) - **[TwinEngine](twin_engine.md)** (C, GPL-2.0, mature, inactive since 2015) - **[Visions from the Other Side](visions_from_the_other_side.md)** (Ren'py, Freeware, mature, inactive since 2006) diff --git a/games/adventure/adaventure.md b/games/adventure/adaventure.md index 89dd8c20..015c165c 100644 --- a/games/adventure/adaventure.md +++ b/games/adventure/adaventure.md @@ -6,7 +6,7 @@ _A point & click quest set in ancient Persia._ - Download: https://github.com/fastrgv/AdaVenture/releases - State: mature - Keywords: point&click, kid-friendly -- Code repository: (see home) +- Code repository: https://github.com/fastrgv/AdaVenture - Code language: Ada - Code license: GPL-3.0 diff --git a/games/adventure/clou.md b/games/adventure/clou.md index ad9a816d..b3d8225e 100644 --- a/games/adventure/clou.md +++ b/games/adventure/clou.md @@ -7,7 +7,7 @@ _Remake of the 1986 game They Stole a Million._ - Download: https://sourceforge.net/projects/cosp/files/ - State: beta - Keywords: action/adventure -- Code repository: https://sourceforge.net/p/cosp/code/ (cvs) https://github.com/vcosta/derclou +- Code repository: https://github.com/vcosta/derclou, https://sourceforge.net/p/cosp/code/ (cvs) - Code language: C May require original game files. diff --git a/games/adventure/solaris.md b/games/adventure/solaris.md index 145117b7..d70b4e8e 100644 --- a/games/adventure/solaris.md +++ b/games/adventure/solaris.md @@ -4,10 +4,9 @@ _Graphic adventure created and developing by Blender._ - Home: https://sourceforge.net/projects/solaristhegame/ - Download: https://sourceforge.net/projects/solaristhegame/files/ -- State: beta +- State: beta, inactive since 2010 - Code repository: https://sourceforge.net/p/solaristhegame/code/HEAD/tree/ (svn) -No code ## Building diff --git a/games/framework/_toc.md b/games/framework/_toc.md index 7ea7843d..edab6ac2 100644 --- a/games/framework/_toc.md +++ b/games/framework/_toc.md @@ -4,7 +4,7 @@ - **[Allegro](allegro.md)** (C, zlib, mature) - **[Annchienta](annchienta.md)** (C++, GPL-3.0, mature, inactive since 2009) - **[Arianne / Marauroa](arianne.md)** (Java, GPL-2.0, mature) -- **[Atlantis](atlantis.md)** (C++, GPL-2.0, mature, inactive since 2011) +- **[Atlantis](atlantis.md)** (C++, GPL-2.0, mature, inactive since 2016) - **[Blender game engine](blender_game_engine.md)** (C++, GPL-2.0, mature) - **[COCOS2D-X](cocos2dx.md)** (C++, MIT, mature) - **[Dash Engine](dash.md)** (D, MIT, mature, inactive since 2015) diff --git a/games/framework/annchienta.md b/games/framework/annchienta.md index 1ab61f5a..4bae2ed7 100644 --- a/games/framework/annchienta.md +++ b/games/framework/annchienta.md @@ -5,7 +5,7 @@ _A 2D game engine._ - Home: http://annchienta.sourceforge.net/?page=home - Download: https://sourceforge.net/projects/annchienta/files/annchienta/current/ - State: mature, inactive since 2009 -- Code repository: https://sourceforge.net/p/annchienta/code/HEAD/tree/trunk/Annchienta/ (svn) +- Code repository: https://github.com/sago007/annchienta, https://sourceforge.net/p/annchienta/code/HEAD/tree/trunk/Annchienta/ (svn) - Code language: C++ - Code license: GPL-3.0 diff --git a/games/framework/arianne.md b/games/framework/arianne.md index abe44f84..4d1deea9 100644 --- a/games/framework/arianne.md +++ b/games/framework/arianne.md @@ -6,7 +6,7 @@ _An open source multiplayer online framework._ - Download: https://arianne-project.org/engine/marauroa.html - State: mature - Keywords: MP, 2D -- Code repository: git://git.code.sf.net/p/arianne/marauroa +- Code repository: https://git.code.sf.net/p/arianne/marauroa - Code language: Java - Code license: GPL-2.0 diff --git a/games/framework/atlantis.md b/games/framework/atlantis.md index d5c3150b..096cc905 100644 --- a/games/framework/atlantis.md +++ b/games/framework/atlantis.md @@ -2,16 +2,20 @@ _PBEM Game engine which is used to create many different strategy wargames today and for the past decade._ -- Home: https://sourceforge.net/projects/atlantis/ +- Home: http://www.prankster.com/project/, https://sourceforge.net/projects/atlantis/, https://web.archive.org/web/20140516211231/http://www.atlantis-pbem.org/ +- Media: https://en.wikipedia.org/wiki/Atlantis_PbeM - Download: https://sourceforge.net/projects/atlantis/files/Atlantis%204/Release%204.1.0/ -- State: mature, inactive since 2011 -- Code repository: https://svn.code.sf.net/p/atlantis/code/ +- State: mature, inactive since 2016 +- Code repository: https://github.com/Atlantis-PBEM/Atlantis, https://svn.code.sf.net/p/atlantis/code/ (svn) - Code language: C++ - Code license: GPL-2.0 Game engine? Implementations? -See also [Atlantis Little Helper](https://sourceforge.net/projects/alh/) +See also: + [Atlantis Little Helper](https://sourceforge.net/projects/alh/), [Dev group](https://groups.yahoo.com/group/atlantisdev/), [Atlantis 1.0](https://github.com/ennorehling/atlantis). + +https://github.com/essenbee/atlantis, https://github.com/AtlaClient/AtlaClient ## Building diff --git a/games/framework/blender_game_engine.md b/games/framework/blender_game_engine.md index f1360b85..ec5ba2a5 100644 --- a/games/framework/blender_game_engine.md +++ b/games/framework/blender_game_engine.md @@ -5,7 +5,7 @@ _Included in Blender is a complete game engine, allowing you to create a fully f - Home: https://www.blender.org/features/game-creation/ - Download: https://www.blender.org/download/ - State: mature -- Code repository: https://developer.blender.org/diffusion/ +- Code repository: (https://developer.blender.org/diffusion/) - Code language: C++ - Code license: GPL-2.0 diff --git a/games/framework/deltaengine.md b/games/framework/deltaengine.md index 570da61e..01263442 100644 --- a/games/framework/deltaengine.md +++ b/games/framework/deltaengine.md @@ -5,7 +5,7 @@ _Multi-platform Game Engine, C# OpenGL Version (custom wrapper) including the Ed - Home: http://www.deltaengine.net/ - Download: http://www.deltaengine.net/download - State: mature, inactive since 2015 -- Code repository: https://github.com/DeltaEngine/DeltaEngine, https://github.com/DeltaEngine +- Code repository: https://github.com/DeltaEngine/DeltaEngine (https://github.com/DeltaEngine) - Code language: C# - Code license: Apache-2.0 diff --git a/games/framework/irrlicht.md b/games/framework/irrlicht.md index 8d0c8737..da2ab83f 100644 --- a/games/framework/irrlicht.md +++ b/games/framework/irrlicht.md @@ -7,7 +7,7 @@ _The Irrlicht Engine is an open source high performance realtime 3D engine._ - Download: http://irrlicht.sourceforge.net/?page_id=10 - State: mature - Keywords: 3D -- Code repository: https://sourceforge.net/p/irrlicht/code/HEAD/tree/ (svn) https://github.com/zaki/irrlicht (mirror) +- Code repository: https://github.com/zaki/irrlicht (mirror), https://sourceforge.net/p/irrlicht/code/HEAD/tree/ (svn) - Code language: C++, C - Code license: zlib diff --git a/games/framework/lumix.md b/games/framework/lumix.md index 0dd71323..38153cd6 100644 --- a/games/framework/lumix.md +++ b/games/framework/lumix.md @@ -6,7 +6,7 @@ _3D Game Engine_ - Download: https://github.com/nem0/LumixEngine/releases - State: beta - Keywords: 3D -- Code repository: https://github.com/nem0/lumixengine https://github.com/nem0/lumixengine_data (related) +- Code repository: https://github.com/nem0/lumixengine, https://github.com/nem0/lumixengine_data (related) - Code language: C++ - Code license: MIT diff --git a/games/framework/mana_source.md b/games/framework/mana_source.md index c9f6ab01..c960bed0 100644 --- a/games/framework/mana_source.md +++ b/games/framework/mana_source.md @@ -6,7 +6,7 @@ _Complete 2D MMORPG platform._ - Download: http://www.manasource.org/downloads.html - State: beta - Keywords: MMO -- Code repository: https://github.com/mana https://github.com/mana/manaserv +- Code repository: https://github.com/mana/manaserv (https://github.com/mana), https://github.com/tales/tales-client (+) - Code language: C++ - Code license: GPL-2.0 diff --git a/games/framework/maratis.md b/games/framework/maratis.md index 961fe789..7a2d04fe 100644 --- a/games/framework/maratis.md +++ b/games/framework/maratis.md @@ -5,7 +5,7 @@ _Maratis is a simple cross-platform 3d engine and visual game development tool._ - Home: http://www.maratis3d.org/ - Download: http://www.maratis3d.org/?page_id=57 - State: beta -- Code repository: https://github.com/anael-seghezzi/Maratis-4 https://code.google.com/archive/p/maratis/source +- Code repository: https://github.com/anael-seghezzi/Maratis-4, https://code.google.com/archive/p/maratis/source - Code language: C++ - Code license: GPL-2.0 diff --git a/games/framework/octaforge.md b/games/framework/octaforge.md index 7a9ff454..3433cc5e 100644 --- a/games/framework/octaforge.md +++ b/games/framework/octaforge.md @@ -5,7 +5,7 @@ _OctaForge is a 3D game engine and a game development platform._ - Home: https://octaforge.org/ - Download: https://octaforge.org/page/downloads - State: mature -- Code repository: https://git.octaforge.org/ https://github.com/OctaForge (mirrors) +- Code repository: https://git.octaforge.org/engine/octaforge.git, https://github.com/OctaForge (mirrors) - Code language: C++ - Code license: Custom (NCSA open source license) diff --git a/games/framework/ogre3d.md b/games/framework/ogre3d.md index 4dfccd6c..f5bfe523 100644 --- a/games/framework/ogre3d.md +++ b/games/framework/ogre3d.md @@ -7,7 +7,7 @@ _Scene-oriented, flexible 3D engine written in C++._ - Download: https://www.ogre3d.org/download/sdk - State: mature - Keywords: 3D -- Code repository: https://bitbucket.org/sinbad/ogre/src (hg) https://github.com/OGRECave/ogre (mirror) +- Code repository: https://github.com/OGRECave/ogre (mirror), https://bitbucket.org/sinbad/ogre/src (hg) - Code language: C++ - Code license: MIT diff --git a/games/framework/ohrrpgce.md b/games/framework/ohrrpgce.md index 8a5434a4..67cbe62b 100644 --- a/games/framework/ohrrpgce.md +++ b/games/framework/ohrrpgce.md @@ -6,7 +6,7 @@ _Official Hamster Republic Role Playing Game Construction Engine_ - Media: https://en.wikipedia.org/wiki/OHRRPGCE - Download: http://rpg.hamsterrepublic.com/ohrrpgce/Downloads - State: mature -- Code repository: https://rpg.hamsterrepublic.com/source/ (svn) https://bitbucket.org/rbv/ohrrpgce-svn/src +- Code repository: https://rpg.hamsterrepublic.com/source/ (svn), https://bitbucket.org/rbv/ohrrpgce-svn/src - Code language: Basic - Code license: GPL-2.0 diff --git a/games/framework/orx.md b/games/framework/orx.md index ed457d70..e7eff1f8 100644 --- a/games/framework/orx.md +++ b/games/framework/orx.md @@ -6,7 +6,7 @@ _Orx is an open source, portable, lightweight, plugin-based, data-driven and ext - Media: https://en.wikipedia.org/wiki/ORX - Download: https://github.com/orx/orx/releases - State: mature -- Code repository: https://github.com/orx/orx https://bitbucket.org/orx/orx (hg) +- Code repository: https://github.com/orx/orx, https://bitbucket.org/orx/orx (hg) - Code language: C - Code license: zlib diff --git a/games/framework/pygame.md b/games/framework/pygame.md index 37c3ceed..8284b92c 100644 --- a/games/framework/pygame.md +++ b/games/framework/pygame.md @@ -6,7 +6,7 @@ _Library for making multimedia applications like games built on top of the excel - Media: https://en.wikipedia.org/wiki/Pygame - Download: http://www.pygame.org/download.shtml - State: mature -- Code repository: https://bitbucket.org/pygame/pygame/src (hg) https://github.com/pygame/pygame (mirror) +- Code repository: https://github.com/pygame/pygame (mirror), https://bitbucket.org/pygame/pygame/src (hg) - Code language: C, Python - Code license: LGPL-2.1 diff --git a/games/framework/pyorpg.md b/games/framework/pyorpg.md index 30673b2a..e6bb60e8 100644 --- a/games/framework/pyorpg.md +++ b/games/framework/pyorpg.md @@ -4,7 +4,7 @@ _ORPG (online role-playing-game) engine that allows everyone to create their own - Home: https://web.archive.org/web/20131114162141/http://www.powrtoch.org:80/pyorpg - State: beta, inactive since 2015 -- Code repository: https://github.com/marcusmoller/pyorpg-client, https://github.com/marcusmoller/pyorpg-server +- Code repository: https://github.com/marcusmoller/pyorpg-client, https://github.com/marcusmoller/pyorpg-server (+) - Code language: Python - Code license: MIT - Dependencies: PyGame diff --git a/games/framework/qt.md b/games/framework/qt.md index dea6c14d..db26bdf5 100644 --- a/games/framework/qt.md +++ b/games/framework/qt.md @@ -6,7 +6,7 @@ _Cross-platform application framework._ - Media: - Download: https://www1.qt.io/download-open-source/ - State: mature -- Code repository: http://code.qt.io/cgit/ https://github.com/qt (mirror) +- Code repository: (http://code.qt.io/cgit/ https://github.com/qt = mirror) - Code language: C++ - Code license: LGPL-3.0 diff --git a/games/framework/sge2d.md b/games/framework/sge2d.md index c2c03d6c..6e938db3 100644 --- a/games/framework/sge2d.md +++ b/games/framework/sge2d.md @@ -2,10 +2,10 @@ _2D game programming framework for c/c++ programmers with least possible dependencies._ -- Home: https://sourceforge.net/projects/sge2d/ +- Home: https://sourceforge.net/projects/sge2d/, https://web.archive.org/web/20110526140520/http://agnosent.com:80/wolfcms/open-source/sge2d - Download: https://sourceforge.net/projects/sge2d/files/sge2d/ - State: beta -- Code repository: https://sourceforge.net/p/sge2d/code/HEAD/tree/ (svn) +- Code repository: https://github.com/Trilarion/sge2d (import of the svn), https://sourceforge.net/p/sge2d/code/HEAD/tree/ (svn) - Code language: C - Code license: MIT diff --git a/games/framework/vegastrike.md b/games/framework/vegastrike.md index c0a6fcec..6ddbb040 100644 --- a/games/framework/vegastrike.md +++ b/games/framework/vegastrike.md @@ -6,7 +6,7 @@ _Vega Strike is a first-person space trading and combat simulator._ - Media: https://en.wikipedia.org/wiki/Vega_Strike - Download: http://vegastrike.sourceforge.net/getfiles/ - State: mature -- Code repository: https://sourceforge.net/p/vegastrike/code/HEAD/tree/ (svn) https://github.com/vegastrike (mirror) +- Code repository: https://github.com/vegastrike (mirror), https://sourceforge.net/p/vegastrike/code/HEAD/tree/ (svn) - Code language: C++ - Code license: GPL-2.0 diff --git a/games/framework/worldforge.md b/games/framework/worldforge.md index be94bbd9..b809d9dc 100644 --- a/games/framework/worldforge.md +++ b/games/framework/worldforge.md @@ -7,7 +7,7 @@ _Open source framework for massively multiplayer online role-playing games._ - Download: https://www.worldforge.org/index.php/downloads/ - State: mature - Keywords: MMO -- Code repository: https://github.com/worldforge (different sub-repositories) +- Code repository: https://github.com/worldforge/cyphesis (https://github.com/worldforge), https://github.com/worldforge/ember (+) - Code language: C++ - Code license: GPL-2.0 diff --git a/games/library/pkgconfig.md b/games/library/pkgconfig.md index 0a047fc0..35726414 100644 --- a/games/library/pkgconfig.md +++ b/games/library/pkgconfig.md @@ -7,7 +7,7 @@ _Tool used when compiling applications and libraries._ - Download: https://pkg-config.freedesktop.org/releases/ - State: mature - Keywords: tool -- Code repository: git://anongit.freedesktop.org/pkg-config +- Code repository: https://anongit.freedesktop.org/git/pkg-config.git (https://cgit.freedesktop.org/pkg-config) - Code language: C - Code license: GPL-2.0 diff --git a/games/library/xz.md b/games/library/xz.md index 791d477e..604c7d5c 100644 --- a/games/library/xz.md +++ b/games/library/xz.md @@ -6,7 +6,7 @@ _General-purpose data compression software with a high compression ratio._ - Media: https://en.wikipedia.org/wiki/XZ_Utils - Download: (see home) - State: mature -- Code repository: https://git.tukaani.org/?p=xz.git +- Code repository: https://git.tukaani.org/xz.git (https://git.tukaani.org/?p=xz.git) - Code language: C - Code license: Custom (see file Copying, liblzma is public domain) diff --git a/games/statistics.md b/games/statistics.md index 05e1bbd7..7583f426 100644 --- a/games/statistics.md +++ b/games/statistics.md @@ -1,17 +1,17 @@ [comment]: # (autogenerated content, do not edit) # Statistics -analyzed 405 entries on 2018-06-10 18:20:46 +analyzed 405 entries on 2018-06-11 13:59:41 ## State - mature: 236 (58.3%) - beta: 169 (41.7%) -- inactive: 169 (41.7%) +- inactive: 170 (42.0%) ##### Inactive State -Zone of Control (2017), 3d.city (2016), Atrinik (2016), Birth of the Empires (2016), DNT (2016), Dark Destiny (2016), Dungeon Monkey Eternal (2016), FreeRCT (2016), Mechanized Assault & eXploration Reloaded (2016), Polis (2016), WarGame (2016), Dash Engine (2015), Delta Engine (2015), Egoboo (2015), Free heroes2 engine (2015), M.E.W.L. (2015), Project Helena (2015), Roguish (2015), The Epic of Heroes (2015), TwinEngine (2015), Witch Blast (2015), pyORPG (2015), Argentum Online (2014), Battles of Antargis (2014), Deity (2014), Drop Shock (2014), Dune Dynasty (2014), EternalWinterWars (2014), FAR Colony (2014), Hale (2014), Heroes of Wing Commander (2014), Kingdoms (2014), Lips of Suna (2014), Open RPG Maker (2014), Open Tibia (2014), Sintel The Game (2014), Summoning Wars (2014), Turious (2014), Xenowar (2014), rpge (2014), sandbox Game Maker (2014), Bos Wars (2013), C-evo (2013), Decker (2013), DemiGod (2013), Dungeon Mapper (2013), Holyspirit (2013), MechCommander 2 Omnitech (2013), Mpango (2013), OpenRPG (2013), Phantasy Star Rebirth (2013), Room for Change (2013), Source of Tales (2013), Trinity Reign (2013), VegaTrek (2013), BlackNova Traders (2012), Cataclysm (2012), CommandoJS (2012), Conquests (2012), Dark City (2012), Goblin Camp (2012), Hexwar (2012), Outer Space (2012), PARPG (2012), Solar Empire (2012), Thousand Parsec (2012), UFO2000 (2012), Wizards Magic (2012), Age of Magic (2011), Atlantis (2011), Battlefield Java (2011), Danger from the Deep (2011), Dawn (2011), GalaxyMage Redux (2011), JaNaG - Java Name Generator (2011), KQ Lives (2011), Kobold's Quest 2 (2011), OpenMOO2 (2011), Project Diaspora (2011), RuneSword II (2011), Song of Albion (2011), Star Control II: The Ur-Quan Masters (2011), UlDunAd (2011), World of Phaos (2011), X-Force: Fight For Destiny (2011), AI Wars (2010), Crimson Fields (2010), Dragon History (2010), Endgame: Singularity (2010), Labyrinth of Worlds (2010), Linwarrior 3D (2010), Mercenary Commander (2010), OpenHoMM (2010), Radakan (2010), Skrupel - Tribute Compilation (2010), Slay (2010), SpaceTrader for Java (2010), XSera (2010), 8 Kingdoms (2009), Alien Assault Traders (2009), Annchienta (2009), Ardentryst (2009), Begin2 (2009), Blitzkrieg (2009), Dark Oberon (2009), Duel Commander (2009), Fall of Imyrin (2009), Fallen Spire (2009), FreeTrain (2009), Glest (2009), Goblin Hack (2009), ORIENT (2009), OpenPop (2009), Secret Mario Chronicles (2009), World of Heroes (2009), A Planet's Revenge (2008), Attal (2008), Freestars (2008), Mars, Land of No Mercy (2008), Meritous (2008), Moopy (2008), Moria (2008), S.C.O.U.R.G.E. (2008), Scoreos (2008), Sengoku: Warring States of Japan (2008), Space Opera (2008), Space Trader for Windows (2008), Armies (2007), Eos, Dawn of Light: A Space Opera (2007), Silvertree (2007), Slash'EM (2007), Arthur's Knights (2006), Avanor (2006), Betrayer's Moon Tactics (2006), Boson (2006), Crown and Cutless (2006), Eleconics (2006), JQuest (2006), Linley's Dungeon Crawl (2006), Metal Mech (2006), RPDungeon - computer aided role playing (2006), Rogue Clone IV (2006), Underworld Adventures (2006), Visions from the Other Side (2006), GalaxyNG (2005), H-World (2005), Spice Trade (2005), WAtomic (2005), ZAngband (2005), Colonization too (2004), GM Tools (2004), Gee Whiz (2004), Iter Vehemens ad Necem (2004), Openglad (2004), Promisance (2004), T-Bots (2004), AntiChess (2003), Cat Mother Dead Justice (2003), Civil (2003), Machinations (2003), Pizza Business (2003), Planetary Hoppers (2003), The Clans (2003), Wargamer (2003), XArchon (2003), Umbra (2002), Greenius' Civil War (2001), Tux Racer (2001), Operation Citadel (2000) +Zone of Control (2017), 3d.city (2016), Atlantis (2016), Atrinik (2016), Birth of the Empires (2016), DNT (2016), Dark Destiny (2016), Dungeon Monkey Eternal (2016), FreeRCT (2016), Mechanized Assault & eXploration Reloaded (2016), Polis (2016), WarGame (2016), Dash Engine (2015), Delta Engine (2015), Egoboo (2015), Free heroes2 engine (2015), M.E.W.L. (2015), Project Helena (2015), Roguish (2015), The Epic of Heroes (2015), TwinEngine (2015), Witch Blast (2015), pyORPG (2015), Argentum Online (2014), Battles of Antargis (2014), Deity (2014), Drop Shock (2014), Dune Dynasty (2014), EternalWinterWars (2014), FAR Colony (2014), Hale (2014), Heroes of Wing Commander (2014), Kingdoms (2014), Lips of Suna (2014), Open RPG Maker (2014), Open Tibia (2014), Sintel The Game (2014), Summoning Wars (2014), Turious (2014), Xenowar (2014), rpge (2014), sandbox Game Maker (2014), Bos Wars (2013), C-evo (2013), Decker (2013), DemiGod (2013), Dungeon Mapper (2013), Holyspirit (2013), MechCommander 2 Omnitech (2013), Mpango (2013), OpenRPG (2013), Phantasy Star Rebirth (2013), Room for Change (2013), Source of Tales (2013), Trinity Reign (2013), VegaTrek (2013), BlackNova Traders (2012), Cataclysm (2012), CommandoJS (2012), Conquests (2012), Dark City (2012), Goblin Camp (2012), Hexwar (2012), Outer Space (2012), PARPG (2012), Solar Empire (2012), Thousand Parsec (2012), UFO2000 (2012), Wizards Magic (2012), Age of Magic (2011), Battlefield Java (2011), Danger from the Deep (2011), Dawn (2011), GalaxyMage Redux (2011), JaNaG - Java Name Generator (2011), KQ Lives (2011), Kobold's Quest 2 (2011), OpenMOO2 (2011), Project Diaspora (2011), RuneSword II (2011), Song of Albion (2011), Star Control II: The Ur-Quan Masters (2011), UlDunAd (2011), World of Phaos (2011), X-Force: Fight For Destiny (2011), AI Wars (2010), Crimson Fields (2010), Dragon History (2010), Endgame: Singularity (2010), Labyrinth of Worlds (2010), Linwarrior 3D (2010), Mercenary Commander (2010), OpenHoMM (2010), Radakan (2010), Skrupel - Tribute Compilation (2010), Slay (2010), Solaris the Game (2010), SpaceTrader for Java (2010), XSera (2010), 8 Kingdoms (2009), Alien Assault Traders (2009), Annchienta (2009), Ardentryst (2009), Begin2 (2009), Blitzkrieg (2009), Dark Oberon (2009), Duel Commander (2009), Fall of Imyrin (2009), Fallen Spire (2009), FreeTrain (2009), Glest (2009), Goblin Hack (2009), ORIENT (2009), OpenPop (2009), Secret Mario Chronicles (2009), World of Heroes (2009), A Planet's Revenge (2008), Attal (2008), Freestars (2008), Mars, Land of No Mercy (2008), Meritous (2008), Moopy (2008), Moria (2008), S.C.O.U.R.G.E. (2008), Scoreos (2008), Sengoku: Warring States of Japan (2008), Space Opera (2008), Space Trader for Windows (2008), Armies (2007), Eos, Dawn of Light: A Space Opera (2007), Silvertree (2007), Slash'EM (2007), Arthur's Knights (2006), Avanor (2006), Betrayer's Moon Tactics (2006), Boson (2006), Crown and Cutless (2006), Eleconics (2006), JQuest (2006), Linley's Dungeon Crawl (2006), Metal Mech (2006), RPDungeon - computer aided role playing (2006), Rogue Clone IV (2006), Underworld Adventures (2006), Visions from the Other Side (2006), GalaxyNG (2005), H-World (2005), Spice Trade (2005), WAtomic (2005), ZAngband (2005), Colonization too (2004), GM Tools (2004), Gee Whiz (2004), Iter Vehemens ad Necem (2004), Openglad (2004), Promisance (2004), T-Bots (2004), AntiChess (2003), Cat Mother Dead Justice (2003), Civil (2003), Machinations (2003), Pizza Business (2003), Planetary Hoppers (2003), The Clans (2003), Wargamer (2003), XArchon (2003), Umbra (2002), Greenius' Civil War (2001), Tux Racer (2001), Operation Citadel (2000) ## Code Languages diff --git a/games/strategy/age_of_magic.md b/games/strategy/age_of_magic.md index 15fee7f7..9d48958e 100644 --- a/games/strategy/age_of_magic.md +++ b/games/strategy/age_of_magic.md @@ -5,7 +5,7 @@ _Turn-based strategy game for Symbian._ - Home: https://sourceforge.net/projects/ageofmagic/ - Download: https://sourceforge.net/projects/ageofmagic/files/ - State: beta, inactive since 2011 -- Code repository: https://svn.code.sf.net/p/ageofmagic/code/ +- Code repository: https://svn.code.sf.net/p/ageofmagic/code/ (svn) - Code language: C++ - Code license: GPL-2.0 diff --git a/games/strategy/katomic.md b/games/strategy/katomic.md index bd5b1150..ca76125d 100644 --- a/games/strategy/katomic.md +++ b/games/strategy/katomic.md @@ -5,7 +5,7 @@ _Fun educational game built around molecular geometry. It employs simplistic two - Home: https://www.kde.org/applications/games/katomic/, https://games.kde.org/game.php?game=katomic - State: mature - Keywords: puzzle -- Code repository: git://anongit.kde.org/katomic +- Code repository: https://anongit.kde.org/katomic (https://cgit.kde.org/katomic.git/tree//?) - Code language: C++ - Code license: GPL-2.0 diff --git a/games/strategy/scorched_moon.md b/games/strategy/scorched_moon.md index d8871ec2..359657a6 100644 --- a/games/strategy/scorched_moon.md +++ b/games/strategy/scorched_moon.md @@ -4,7 +4,7 @@ _Open source version of Moonbase Commander._ - Home: https://github.com/Scorched-Moon - State: beta -- Code repository: https://github.com/Scorched-Moon +- Code repository: https://github.com/Scorched-Moon/server, https://github.com/Scorched-Moon/client (+) - Code language: Python - Code license: GPL-3.0 diff --git a/tools/git_archive/archives.json b/tools/git_archive/archives.json index 528ef65a..39ee12c2 100644 --- a/tools/git_archive/archives.json +++ b/tools/git_archive/archives.json @@ -1 +1,175 @@ -["https://github.com/AdamAtomic/flixel.git", "https://github.com/Ancurio/mkxp.git", "https://github.com/CamHenlin/Roguish.git", "https://github.com/Circular-Studios/Dash.git", "https://github.com/Cirrus-Minor/witchblast.git", "https://github.com/CorsixTH/CorsixTH.git", "https://github.com/DeltaEngine/DeltaEngine.git", "https://github.com/EMC23/JiGS-PHP-RPG-engine.git", "https://github.com/EasyRPG/Player.git", "https://github.com/EdwardWoodhouse/Turn-of-War.git", "https://github.com/FreeRCT/FreeRCT.git", "https://github.com/FreezingMoon/AncientBeast.git", "https://github.com/Fundynamic/dune2themaker4j.git", "https://github.com/GNOME/atomix.git", "https://github.com/Kromster80/kam_remake.git", "https://github.com/LWJGL/lwjgl3.git", "https://github.com/LionsPhil/mewl.git", "https://github.com/Lozza999/scoreos.git", "https://github.com/MattMatt0240/DemiGod.git", "https://github.com/MegaGlest/megaglest-source.git", "https://github.com/MegaMek/megamek.git", "https://github.com/Meridian59/Meridian59.git", "https://github.com/MonoGame/MonoGame.git", "https://github.com/MovingBlocks/Terasology.git", "https://github.com/NetHack/NetHack.git", "https://github.com/OpenApoc/OpenApoc.git", "https://github.com/OpenDUNE/OpenDUNE.git", "https://github.com/OpenMW/openmw.git", "https://github.com/OpenMeridian/Meridian59.git", "https://github.com/OpenRA/OpenRA.git", "https://github.com/OpenRCT2/OpenRCT2.git", "https://github.com/PlatinumArts/Platinum-Arts-Sandbox-Free-Game-Maker.git", "https://github.com/REGoth-project/REGoth.git", "https://github.com/SFML/SFML.git", "https://github.com/SWY1985/CivOne.git", "https://github.com/TVTower/TVTower.git", "https://github.com/TobiasBielefeld/Simple-Solitaire.git", "https://github.com/Tuxemon/Tuxemon.git", "https://github.com/Vakarias/farcolony.git", "https://github.com/ValyriaTear/ValyriaTear.git", "https://github.com/VilleKrumlinde/zgameeditor.git", "https://github.com/Warzone2100/warzone2100.git", "https://github.com/Whales/Cataclysm.git", "https://github.com/ZeroK-RTS/Zero-K.git", "https://github.com/Zetawar/zetawar.git", "https://github.com/akarnokd/open-ig.git", "https://github.com/alphaonex86/CatchChallenger.git", "https://github.com/andrettin/wyrmsun.git", "https://github.com/angband/angband.git", "https://github.com/antionio/game-off-2013.git", "https://github.com/anttisalonen/kingdoms.git", "https://github.com/arescentral/antares.git", "https://github.com/arx/ArxLibertatis.git", "https://github.com/atrinik/atrinik.git", "https://github.com/boostorg/boost.git", "https://github.com/bote-team/bote.git", "https://github.com/brandon-rhodes/python-adventure.git", "https://github.com/calref/cboe.git", "https://github.com/clintbellanger/flare-engine.git", "https://github.com/cocos2d/cocos2d-x.git", "https://github.com/colobot/colobot.git", "https://github.com/commandojs/CommandoJS.git", "https://github.com/crawl/crawl.git", "https://github.com/cthielen/Epiar.git", "https://github.com/delight-im/OpenSoccer.git", "https://github.com/dmecke/OpenSoccerStar.git", "https://github.com/doxygen/doxygen.git", "https://github.com/ec429/harris.git", "https://github.com/endless-sky/endless-sky.git", "https://github.com/enigma-dev/enigma-dev.git", "https://github.com/exult/exult.git", "https://github.com/fabianschuiki/OpenSkyscraper.git", "https://github.com/freeciv/freeciv-web.git", "https://github.com/freeciv/freeciv.git", "https://github.com/freeminer/freeminer.git", "https://github.com/freeorion/freeorion.git", "https://github.com/freeors/War-Of-Kingdom.git", "https://github.com/freeserf/freeserf.git", "https://github.com/gemrb/gemrb.git", "https://github.com/godotengine/godot.git", "https://github.com/godrin/antargis.git", "https://github.com/graememcc/micropolisJS.git", "https://github.com/guillaume-gouchon/dungeonhero.git", "https://github.com/guillaume-gouchon/dungeonquest.git", "https://github.com/guillaume-gouchon/smash.js.git", "https://github.com/hackcraft-de/linwarrior.git", "https://github.com/harfbuzz/harfbuzz.git", "https://github.com/henkboom/pax-britannica.git", "https://github.com/hinogi/eternalwinterwars.git", "https://github.com/iamCode/Dawn.git", "https://github.com/ihofmann/open-websoccer.git", "https://github.com/infidel-/cult.git", "https://github.com/ivansafrin/Polycode.git", "https://github.com/jMonkeyEngine/jmonkeyengine.git", "https://github.com/ja2-stracciatella/ja2-stracciatella.git", "https://github.com/jazztickets/choria.git", "https://github.com/jbeder/yaml-cpp.git", "https://github.com/jmimu/FITD.git", "https://github.com/jonburesh/sintelgame.git", "https://github.com/jp8900308/other-life.git", "https://github.com/jsettlers/settlers-remake.git", "https://github.com/jwvhewitt/dmeternal.git", "https://github.com/jwvhewitt/gearhead-1.git", "https://github.com/leethomason/unflobtactical.git", "https://github.com/liballeg/allegro5.git", "https://github.com/libgdx/libgdx.git", "https://github.com/lo-th/3d.city.git", "https://github.com/lua/lua.git", "https://github.com/madler/zlib.git", "https://github.com/magarena/magarena.git", "https://github.com/marcusmoller/pyorpg-client.git", "https://github.com/mgfreshour/hexwar.git", "https://github.com/mitallast/diablo-js.git", "https://github.com/mordrax/cotwmtor.git", "https://github.com/mozilla/BrowserQuest.git", "https://github.com/naev/naev.git", "https://github.com/nhydock/UlDunAd.git", "https://github.com/nicupavel/openpanzer.git", "https://github.com/nlarn/nlarn.git", "https://github.com/openlegend/core-rules.git", "https://github.com/openzelda/openzelda-source.git", "https://github.com/ozkriff/zoc.git", "https://github.com/panda3d/panda3d.git", "https://github.com/pioneerspacesim/pioneer.git", "https://github.com/prophile/xsera.git", "https://github.com/qirien/personal-space.git", "https://github.com/raduprv/Eternal-Lands.git", "https://github.com/scummvm/scummvm.git", "https://github.com/simhacker/micropolis.git", "https://github.com/singularity/singularity.git", "https://github.com/snauts/game-lv.git", "https://github.com/solarus-games/solarus.git", "https://github.com/spring/spring.git", "https://github.com/superpowers/superpowers-core.git", "https://github.com/swig/swig.git", "https://github.com/tales/sourceoftales.git", "https://github.com/tautvilas/epoh.git", "https://github.com/triplea-game/triplea.git", "https://github.com/unknown-horizons/unknown-horizons.git", "https://github.com/urho3d/Urho3D.git", "https://github.com/viewizard/astromenace.git", "https://github.com/w84death/Tanks-of-Freedom.git", "https://github.com/weidai11/cryptopp.git", "https://github.com/wesnoth/wesnoth.git", "https://github.com/wxWidgets/wxWidgets.git", "https://github.com/xesf/twin-e.git"] \ No newline at end of file +[ + "https://anongit.freedesktop.org/git/pkg-config.git", + "https://git.octaforge.org/engine/octaforge.git", + "https://git.savannah.gnu.org/git/freedink.git", + "https://git.savannah.gnu.org/git/rpge.git", + "https://git.savannah.nongnu.org/git/lordsawar.git", + "https://git.tukaani.org/xz.git", + "https://git.tuxfamily.org/fanwor/fanwor.git", + "https://github.com/AdamAtomic/flixel.git", + "https://github.com/Ancurio/mkxp.git", + "https://github.com/Atlantis-PBEM/Atlantis.git", + "https://github.com/CamHenlin/Roguish.git", + "https://github.com/Circular-Studios/Dash.git", + "https://github.com/Cirrus-Minor/witchblast.git", + "https://github.com/CorsixTH/CorsixTH.git", + "https://github.com/DeltaEngine/DeltaEngine.git", + "https://github.com/EMC23/JiGS-PHP-RPG-engine.git", + "https://github.com/EasyRPG/Player.git", + "https://github.com/EdwardWoodhouse/Turn-of-War.git", + "https://github.com/FreeRCT/FreeRCT.git", + "https://github.com/FreezingMoon/AncientBeast.git", + "https://github.com/Fundynamic/dune2themaker4j.git", + "https://github.com/GNOME/atomix.git", + "https://github.com/Kromster80/kam_remake.git", + "https://github.com/LWJGL/lwjgl3.git", + "https://github.com/LionsPhil/mewl.git", + "https://github.com/Lozza999/scoreos.git", + "https://github.com/MattMatt0240/DemiGod.git", + "https://github.com/MegaGlest/megaglest-source.git", + "https://github.com/MegaMek/megamek.git", + "https://github.com/Meridian59/Meridian59.git", + "https://github.com/MonoGame/MonoGame.git", + "https://github.com/MovingBlocks/Terasology.git", + "https://github.com/NetHack/NetHack.git", + "https://github.com/OGRECave/ogre.git", + "https://github.com/OpenApoc/OpenApoc.git", + "https://github.com/OpenDUNE/OpenDUNE.git", + "https://github.com/OpenMW/openmw.git", + "https://github.com/OpenMeridian/Meridian59.git", + "https://github.com/OpenRA/OpenRA.git", + "https://github.com/OpenRCT2/OpenRCT2.git", + "https://github.com/PlatinumArts/Platinum-Arts-Sandbox-Free-Game-Maker.git", + "https://github.com/REGoth-project/REGoth.git", + "https://github.com/SFML/SFML.git", + "https://github.com/SWY1985/CivOne.git", + "https://github.com/Scorched-Moon/client.git", + "https://github.com/Scorched-Moon/server.git", + "https://github.com/TVTower/TVTower.git", + "https://github.com/TobiasBielefeld/Simple-Solitaire.git", + "https://github.com/Trilarion/sge2d.git", + "https://github.com/Tuxemon/Tuxemon.git", + "https://github.com/Vakarias/farcolony.git", + "https://github.com/ValyriaTear/ValyriaTear.git", + "https://github.com/VilleKrumlinde/zgameeditor.git", + "https://github.com/Warzone2100/warzone2100.git", + "https://github.com/Whales/Cataclysm.git", + "https://github.com/ZeroK-RTS/Zero-K.git", + "https://github.com/Zetawar/zetawar.git", + "https://github.com/akarnokd/open-ig.git", + "https://github.com/alphaonex86/CatchChallenger.git", + "https://github.com/anael-seghezzi/Maratis-4.git", + "https://github.com/andrettin/wyrmsun.git", + "https://github.com/angband/angband.git", + "https://github.com/antionio/game-off-2013.git", + "https://github.com/anttisalonen/kingdoms.git", + "https://github.com/arescentral/antares.git", + "https://github.com/arx/ArxLibertatis.git", + "https://github.com/atrinik/atrinik.git", + "https://github.com/boostorg/boost.git", + "https://github.com/bote-team/bote.git", + "https://github.com/brandon-rhodes/python-adventure.git", + "https://github.com/calref/cboe.git", + "https://github.com/clintbellanger/flare-engine.git", + "https://github.com/cocos2d/cocos2d-x.git", + "https://github.com/colobot/colobot.git", + "https://github.com/commandojs/CommandoJS.git", + "https://github.com/crawl/crawl.git", + "https://github.com/cthielen/Epiar.git", + "https://github.com/delight-im/OpenSoccer.git", + "https://github.com/dmecke/OpenSoccerStar.git", + "https://github.com/doxygen/doxygen.git", + "https://github.com/ec429/harris.git", + "https://github.com/endless-sky/endless-sky.git", + "https://github.com/enigma-dev/enigma-dev.git", + "https://github.com/exult/exult.git", + "https://github.com/fabianschuiki/OpenSkyscraper.git", + "https://github.com/fastrgv/AdaVenture.git", + "https://github.com/freeciv/freeciv-web.git", + "https://github.com/freeciv/freeciv.git", + "https://github.com/freeminer/freeminer.git", + "https://github.com/freeorion/freeorion.git", + "https://github.com/freeors/War-Of-Kingdom.git", + "https://github.com/freeserf/freeserf.git", + "https://github.com/gemrb/gemrb.git", + "https://github.com/godotengine/godot.git", + "https://github.com/godrin/antargis.git", + "https://github.com/graememcc/micropolisJS.git", + "https://github.com/guillaume-gouchon/dungeonhero.git", + "https://github.com/guillaume-gouchon/dungeonquest.git", + "https://github.com/guillaume-gouchon/smash.js.git", + "https://github.com/hackcraft-de/linwarrior.git", + "https://github.com/harfbuzz/harfbuzz.git", + "https://github.com/henkboom/pax-britannica.git", + "https://github.com/hinogi/eternalwinterwars.git", + "https://github.com/iamCode/Dawn.git", + "https://github.com/ihofmann/open-websoccer.git", + "https://github.com/infidel-/cult.git", + "https://github.com/ivansafrin/Polycode.git", + "https://github.com/jMonkeyEngine/jmonkeyengine.git", + "https://github.com/ja2-stracciatella/ja2-stracciatella.git", + "https://github.com/jazztickets/choria.git", + "https://github.com/jbeder/yaml-cpp.git", + "https://github.com/jmimu/FITD.git", + "https://github.com/jonburesh/sintelgame.git", + "https://github.com/jp8900308/other-life.git", + "https://github.com/jsettlers/settlers-remake.git", + "https://github.com/jwvhewitt/dmeternal.git", + "https://github.com/jwvhewitt/gearhead-1.git", + "https://github.com/leethomason/unflobtactical.git", + "https://github.com/liballeg/allegro5.git", + "https://github.com/libgdx/libgdx.git", + "https://github.com/lo-th/3d.city.git", + "https://github.com/lua/lua.git", + "https://github.com/madler/zlib.git", + "https://github.com/magarena/magarena.git", + "https://github.com/mana/manaserv.git", + "https://github.com/marcusmoller/pyorpg-client.git", + "https://github.com/marcusmoller/pyorpg-server.git", + "https://github.com/mgfreshour/hexwar.git", + "https://github.com/mitallast/diablo-js.git", + "https://github.com/mordrax/cotwmtor.git", + "https://github.com/mozilla/BrowserQuest.git", + "https://github.com/naev/naev.git", + "https://github.com/nem0/lumixengine.git", + "https://github.com/nhydock/UlDunAd.git", + "https://github.com/nicupavel/openpanzer.git", + "https://github.com/nlarn/nlarn.git", + "https://github.com/openlegend/core-rules.git", + "https://github.com/openzelda/openzelda-source.git", + "https://github.com/orx/orx.git", + "https://github.com/ozkriff/zoc.git", + "https://github.com/panda3d/panda3d.git", + "https://github.com/pioneerspacesim/pioneer.git", + "https://github.com/prophile/xsera.git", + "https://github.com/pygame/pygame.git", + "https://github.com/qirien/personal-space.git", + "https://github.com/raduprv/Eternal-Lands.git", + "https://github.com/sago007/annchienta.git", + "https://github.com/scummvm/scummvm.git", + "https://github.com/simhacker/micropolis.git", + "https://github.com/singularity/singularity.git", + "https://github.com/snauts/game-lv.git", + "https://github.com/solarus-games/solarus.git", + "https://github.com/spring/spring.git", + "https://github.com/superpowers/superpowers-core.git", + "https://github.com/swig/swig.git", + "https://github.com/tales/sourceoftales.git", + "https://github.com/tales/tales-client.git", + "https://github.com/tautvilas/epoh.git", + "https://github.com/triplea-game/triplea.git", + "https://github.com/unknown-horizons/unknown-horizons.git", + "https://github.com/urho3d/Urho3D.git", + "https://github.com/vcosta/derclou.git", + "https://github.com/viewizard/astromenace.git", + "https://github.com/w84death/Tanks-of-Freedom.git", + "https://github.com/weidai11/cryptopp.git", + "https://github.com/wesnoth/wesnoth.git", + "https://github.com/worldforge/cyphesis.git", + "https://github.com/worldforge/ember.git", + "https://github.com/wxWidgets/wxWidgets.git", + "https://github.com/xesf/twin-e.git", + "https://github.com/zaki/irrlicht.git", + "https://gitlab.com/evol/evol-all.git", + "https://gitlab.com/solarus-games/zsdx.git" +] \ No newline at end of file diff --git a/tools/git_archive/update.py b/tools/git_archive/update.py index 17ff4005..8f6d85da 100644 --- a/tools/git_archive/update.py +++ b/tools/git_archive/update.py @@ -1,9 +1,12 @@ """ - Clones and/or pulls all the gits listed in archives.csv + Clones and/or pulls all the gits listed in archives.json Requires: git executable in the path Warning: This may take a long time on the first run and may need a lot of storage space! + + TODO are really all existing branches cloned and pulled? (see https://stackoverflow.com/questions/67699/how-to-clone-all-remote-branches-in-git) + TODO detect unused folders? """ import os @@ -19,14 +22,25 @@ def read_text(file): text = f.read() return text +def friendly_folder_name(folder): + folder = folder.replace('/', '.') + return folder def derive_folder_name(url): - github = 'https://github.com/' - if url.startswith(github): - parts = url[len(github):].split('/') - parts.insert(0, 'github') - folder = '.'.join(parts) - return folder + replaces = { + 'https://github.com': 'github', + 'https://git.code.sf.net/p': 'sourceforge', + 'https://git.tuxfamily.org': 'tuxfamily', + } + for service in replaces: + if url.startswith(service): + url = replaces[service] + url[len(service):] + return friendly_folder_name(url) + generic = 'https://' + if url.startswith(generic) and url.endswith('.git'): + url = url[len(generic):] + return friendly_folder_name(url) + raise Exception('unknown service, please define') def clone(url, folder): diff --git a/tools/maintenance.py b/tools/maintenance.py index 35b537aa..454a9baa 100644 --- a/tools/maintenance.py +++ b/tools/maintenance.py @@ -508,9 +508,21 @@ def export_json(): def git_repo(repo): - if repo.startswith('https://github.com/'): + """ + Tests if a repo is a git repo, then returns the repo url, possibly modifying it slightly (for Github). + """ + github = 'https://github.com/' + sourceforge = 'https://git.code.sf.net/p/' + tuxfamily = 'https://git.tuxfamily.org/' + if repo.startswith(github): if len(repo.split('/')) == 5: return repo + '.git' + for service in [tuxfamily]: # TODO sf git gives errors when checking out at the moment + if repo.startswith(service): + return repo + # generic (https://*.git) + if repo.startswith('https://') and repo.endswith('.git'): + return repo return None @@ -518,28 +530,33 @@ def update_primary_code_repositories(): primary_repos = [] - # for every entry + # for every entry filter those that are known git repositories (add additional repositories) for info in infos.values(): - field = 'code repository' + field = 'code repository-raw' # if field 'Code repository' is available if field in info: repos = info[field] - # if there are code repositories given if repos: - repo = repos[0] - repo = git_repo(repo) - if repo: - primary_repos.append(repo) + # split at comma + repos = repos.split(',') + # keep the first and all others containing "(+)" + additional_repos = [x for x in repos[1:] if "(+)" in x] + repos = repos[0:1] + repos.extend(additional_repos) + for repo in repos: + # remove parenthesis and strip of white spaces + repo = re.sub(r'\([^)]*\)', '', repo) + repo = repo.strip() + repo = git_repo(repo) + if repo: + primary_repos.append(repo) - # filter those out, that we can process - - - # sort them alphabetically - primary_repos.sort() + # sort them alphabetically (and remove duplicates) + primary_repos = sorted(set(primary_repos)) # write them to tools/git json_path = os.path.join(games_path, os.path.pardir, 'tools', 'git_archive', 'archives.json') - text = json.dumps(primary_repos) + text = json.dumps(primary_repos, indent=2) write_text(json_path, text) if __name__ == "__main__":