Why using git would be awesome for nexuiz

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

Sat May 23, 2009 12:18 pm

  • What is the pain in diffing, reverting and then applying patches again?
    Alien
    Forum addon
     
    Posts: 1212
    Joined: Tue Apr 22, 2008 7:12 am

Sat May 23, 2009 12:42 pm

  • I knew that Mercurials forces under general HG command will crush pathetic git resistance

    btw, this whole topic should look like that:
    "hi, git is awesome change to git, git 4ever"
    "no we don't"
    "but... but this blah blah and that blah blah blah, so you have to change"
    ..... silence of pure ignore ......


    but noooooooo, you have to convince that guy is wrong, or you will get sick ;P
    but remind me, where was last time, that someone convinced other person is wrong, on internet
    Last edited by Morphed on Sat May 23, 2009 1:19 pm, edited 1 time in total.
    User avatar
    Morphed
    Alien
     
    Posts: 197
    Joined: Tue Feb 28, 2006 10:41 pm
    Location: Poland

Sat May 23, 2009 1:13 pm

  • Morphed wrote:I knew that Mercurials forces under general HG command will crush pathetic git resistance

    btw, this whole topic should look like that:
    "hi, git is awesome change to git, git 4ever"
    "no we dont"
    "but... but this blah blah and that blah blah blah, so you have to change"
    ..... silence of pure ignorore ......


    but noooooooo, you have to convince that guy is wrong, or you will get sick ;P
    but remind me, where was last time, that someone convinced other person is wrong, on internet


    You made my day (rolling) Amazing!
    Alien
    Forum addon
     
    Posts: 1212
    Joined: Tue Apr 22, 2008 7:12 am

Sat May 23, 2009 2:20 pm

Sat May 23, 2009 4:20 pm

  • Revision numbers help a lot when people report bugs.

    "I found this bug and am using revision 3891".

    If you then know you fixed the bug in revision 3893, you simply tell him to update.

    With these weird hashes, you'd have to manually check out this revision and verify that the bug is fixed in it.

    Anyway... another reason NOT to use git and hg is that they are weird tools that don't come preinstalled with distros, and thus are weird niche tools most people don't have and know how to use.

    According to Debian Popcon:
    31% of users have subversion
    26% of users have cvs
    10% of users have git-core
    4% of users have mercurial (hg)
    2% of users have darcs
    1% of users have tla (GNU arch)

    According to Ubuntu Popcon:
    16% of users have subversion
    12% of users have cvs
    4% of users have git-core
    2% of users have mercurial
    0.4% of users have tla (GNU Arch)
    0.3% of users have darcs

    I think this alone is argument enough not to switch to git, as having to install a weird tool just to check out source of an open source application is really not the way how we should treat future developers. Maybe if git at least outpopularizes cvs (which is dying), we can think about switching to it.

    Also think of users e.g. in computer pools who don't have root access there. They can't just "simply" install git, while it's very likely that they have svn preinstalled.

    And Mercurial, darcs, arch are RIGHT out.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat May 23, 2009 4:24 pm

  • To keep it fair, I must say that hg is better than git. That is true. But svn is still better than hg.
    quit for good
    alpha
    Alien trapper
     
    Posts: 492
    Joined: Tue Jun 17, 2008 7:18 pm

Sat May 23, 2009 4:31 pm

  • svn is clearly not "better" than hg or git, but my point is that for centralized development like in case of Nexuiz, we do not NEED any of their extra features (and thanks to git-svn, there is a nice adaptor so people can use git-style workflow on a svn master repository).

    Plus, for centralized development, svn's simplicity is a clear advantage. Revision numbers help a lot with processing bug reports, for example.

    Also, let's name the facts that svn integration in Apache as well as the svn web frontends are well proven and work fine, while the git frontends sitll are not very stable. E.g. github's web frontend often failed at providing downloads.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat May 23, 2009 4:45 pm

  • Uhh svn isn't installed on Ubuntu by default.. does Debian?? I don't think it's on Gentoo or Fedora either.

    To be fair, svn has been out 5-6 years longer than git. In that time applications like Source Forge have popularized it's use.

    I'm not sure how parasti's solution for revision numbers wouldn't work.

    And for the record, Redmine supports git in the webfrontend revision browser.

    I agree to some degree that the client front-ends for git are weak but they are improving but you can't possibly tell me Linux can do much better with frontends for SVN.

    git-cola, giggle, qgit and git-gui aren't _that_ bad.

    Oh and for windows users: http://code.google.com/p/tortoisegit/
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Sat May 23, 2009 4:50 pm

  • I only know the github.com one, and it plain sucks.

    http://github.com/tex/fusecompress/tree/master

    Without javascript, the download button does not even work!

    (and back when I tried, some months ago, the download button also failed with activated JS)

    Basically, switching to git brings ZERO (or actually, NEGATIVE, as lots of scripts need rewriting) advantage to Alientrap, a SMALL advantage to the few people who know git, and a huge disadvantage to people not knowing or not even having git installed.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat May 23, 2009 4:52 pm

  • divVerent wrote:According to Debian Popcon:
    31% of users have subversion
    26% of users have cvs
    10% of users have git-core
    4% of users have mercurial (hg)
    2% of users have darcs
    1% of users have tla (GNU arch)

    According to Ubuntu Popcon:
    16% of users have subversion
    12% of users have cvs
    4% of users have git-core
    2% of users have mercurial
    0.4% of users have tla (GNU Arch)
    0.3% of users have darcs


    Looks like debian users are more into development then... ubuntu users... hmmmmmm.
    tundramagi
    Forum addon
     
    Posts: 974
    Joined: Sun Jan 04, 2009 4:53 pm

Sat May 23, 2009 4:55 pm

  • divVerent wrote: a SMALL advantage to the few people who know git, and a huge disadvantage to people not knowing or not even having git installed.


    That's what this discussion is all about: bringing a small advantage to the people who know git and to hell with the rest of the people who don't but know svn :).
    tundramagi
    Forum addon
     
    Posts: 974
    Joined: Sun Jan 04, 2009 4:53 pm

Sat May 23, 2009 5:00 pm

Sat May 23, 2009 5:05 pm

Sat May 23, 2009 5:10 pm

  • [-z-] wrote:Installation is hard:

    aptitude install git-core

    emerge --ask --verbose dev-util/git

    yum install git-core

    http://code.google.com/p/git-osx-instal ... list?can=3

    http://code.google.com/p/msysgit/


    You don't even read my posts.

    I was talking about e.g. computer pools where you don't have root rights. Compiling stuff from source often IS a pain.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat May 23, 2009 5:14 pm

  • divVerent wrote:You don't even read my posts.

    I was talking about e.g. computer pools where you don't have root rights. Compiling stuff from source often IS a pain.


    Same boat for OSes that don't have svn installed by default.
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Sat May 23, 2009 5:30 pm

  • divVerent wrote:I was talking about e.g. computer pools where you don't have root rights. Compiling stuff from source often IS a pain.

    <troll>It is easy, just extract a deb or rpm, export LD_LIBRARY_PATH and PATH. 8) </troll>
    Let's try not to flame too much
    some-guy
    Member
     
    Posts: 25
    Joined: Tue May 12, 2009 1:28 am

Sat May 23, 2009 5:32 pm

  • [-z-] wrote:I'm not sure how parasti's solution for revision numbers wouldn't work.

    Heh, I wouldn't call that a solution, I just thought it was funny. :)
    User avatar
    parasti
    Alien
     
    Posts: 110
    Joined: Sun May 11, 2008 11:32 pm
    Location: On the walls and the ceiling

Sat May 23, 2009 6:06 pm

  • divVerent wrote:Revision numbers help a lot when people report bugs.

    "I found this bug and am using revision 3891".

    If you then know you fixed the bug in revision 3893, you simply tell him to update.

    With these weird hashes, you'd have to manually check out this revision and verify that the bug is fixed in it.
    Okay, thats fact
    divVerent wrote:Anyway... another reason NOT to use git and hg is that they are weird tools that don't come preinstalled with distros, and thus are weird niche tools most people don't have and know how to use.
    So, you think svn is preinstalled? how do you think that it is? I _never_ had a debian version (at least since sarge) that came with svn fresh from installation. _never_

    divVerent wrote:According to Debian Popcon:
    31% of users have subversion
    26% of users have cvs
    10% of users have git-core
    4% of users have mercurial (hg)
    2% of users have darcs
    1% of users have tla (GNU arch)

    According to Ubuntu Popcon:
    16% of users have subversion
    12% of users have cvs
    4% of users have git-core
    2% of users have mercurial
    0.4% of users have tla (GNU Arch)
    0.3% of users have darcs
    Okay, here you have the numbers that tell you that x percent of $distro users that take part in popcon have VCS Y installed on their system. it does _not_ tell you, that the tools are part of the installation.

    divVerent wrote:I think this alone is argument enough not to switch to git, as having to install a weird tool just to check out source of an open source application is really not the way how we should treat future developers. Maybe if git at least outpopularizes cvs (which is dying), we can think about switching to it.
    No, it is not. Neither Debian nor Ubuntu have any vcs preinstalled. you _always_ have to install it.

    divVerent wrote:Also think of users e.g. in computer pools who don't have root access there. They can't just "simply" install git, while it's very likely that they have svn preinstalled.
    From my point of view, the computer pools in karlsruhe (germany) have both, git and svn preinstalled. And please tell me how many people that follow the nexuiz and dp repositories do that from some computer pools? and even if, just carry the tools on a usb stick, its not that hard and well known practice when having to work on a different computer without admin permissions.

    divVerent wrote:And Mercurial, darcs, arch are RIGHT out.
    Cause they are not preinstalled? Cause they don't use simple revision numbers?

    divVerent wrote:I only know the github.com one, and it plain sucks.
    Don't blame the systems you do not know. look at gitweb (perl driven, which is far better than viewvc and websvn in my eyes when installed properly), cgit (i think it is a tool that generates static html pages every time something changes) or the webfrontend from gitorius (which is not as commercial as github is).

    Yea the github interface may suck in your eyes, but do not blame the other free systems. btw: gitweb comes with git, or is at least directly from the git sourcecode, and it is written in perl. and git provides good perl bindings, which also come with git. So rewriting some of the scripts should be not that big problem. and even if the scripts are not perl-based, there is not much to change.

    To come to popilarity of VCS', like [-z-] pointed out, git is quite young and did not have the time to become better and more popular like svn had.

    i had two scripts in a project that relyed on svn, and when changing to git, i could change them within some minutes.

    Next point: commits like 6682 or 6165 simply do not happen, cause git forces you to enter at least a short comment.

    Oh, by the way, don't get me wrong, i do not say to anyone that they should change to git, i just want to make people see what is different and could __possibly__ make their lives easier. For me, svn was a pain, and git is much better.
    C167
    Member
     
    Posts: 29
    Joined: Wed Oct 31, 2007 5:24 pm

Sat May 23, 2009 7:01 pm

  • C167 wrote:
    divVerent wrote:Anyway... another reason NOT to use git and hg is that they are weird tools that don't come preinstalled with distros, and thus are weird niche tools most people don't have and know how to use.
    So, you think svn is preinstalled? how do you think that it is? I _never_ had a debian version (at least since sarge) that came with svn fresh from installation. _never_


    No, I just claim that people are very likely to already have svn installed, but not to have git installed. git is too new and weird for that.

    divVerent wrote:According to Debian Popcon:
    31% of users have subversion
    26% of users have cvs
    10% of users have git-core
    4% of users have mercurial (hg)
    2% of users have darcs
    1% of users have tla (GNU arch)

    According to Ubuntu Popcon:
    16% of users have subversion
    12% of users have cvs
    4% of users have git-core
    2% of users have mercurial
    0.4% of users have tla (GNU Arch)
    0.3% of users have darcs
    Okay, here you have the numbers that tell you that x percent of $distro users that take part in popcon have VCS Y installed on their system. it does _not_ tell you, that the tools are part of the installation.


    I did not claim that. Actually, the numbers show that they are NOT part of the installation. But they give a general idea about the popularity of the tools, and the probability that people have them already. And many already HAVE svn installed.

    divVerent wrote:Also think of users e.g. in computer pools who don't have root access there. They can't just "simply" install git, while it's very likely that they have svn preinstalled.
    From my point of view, the computer pools in karlsruhe (germany) have both, git and svn preinstalled.


    And please tell me how many people that follow the nexuiz and dp repositories do that from some computer pools? and even if, just carry the tools on a usb stick, its not that hard and well known practice when having to work on a different computer without admin permissions.[/quote]

    On Linux, binaries compiled on one distro typically don't work on another one.

    divVerent wrote:And Mercurial, darcs, arch are RIGHT out.
    Cause they are not preinstalled? Cause they don't use simple revision numbers?


    No, but because they are even less popular than git. With these tools, we'd have a GUARANTEE that every user has to install them and learn about them ONLY for Nexuiz. Almost nobody has them installed at the moment.

    Yea the github interface may suck in your eyes, but do not blame the other free systems.


    I was referring to github because people were suggesting moving development over to that.

    To come to popilarity of VCS', like [-z-] pointed out, git is quite young and did not have the time to become better and more popular like svn had.


    And exactly that is a reason not to use it yet. It should first be used in more "low level" projects which require more programming background, e.g. Linux (already using it).

    i had two scripts in a project that relyed on svn, and when changing to git, i could change them within some minutes.


    So? I don't care. I refuse to change VCS "just because we can". Until now, no single reason was presented why we would GAIN from git (as all the advantages of git that were ever presented here also apply if using git-svn), but many reasons were presented why we would LOSE by using it.

    Next point: commits like 6682 or 6165 simply do not happen, cause git forces you to enter at least a short comment.


    So does svn. So? That was not the point.

    The point was that short increasing numbers are very convenient for seeing whether someone has a change or not. Also, look at the bottom right corner of the darkplaces console. It shows:

    darkplaces-nexuiz linux 18:28:03 mar 21 2009 8981:8982M release

    The last number there is:
    - the svn revision, if unchanged
    - the range of svn revisions, if a selective "update" was done
    - a "M" is appended if there are local changes

    How does a git-hash tell you whether any previous change is in it? The compile date does not help there. Even if we would show the date of the most recent commit, it would not help, as it does not show if all previous commits were applied or not. The thing is, svn DOES show that.

    Well, if you could provide a script that outputs a "short revision number" for git, maybe in the format:

    YYYYMMDDNNN

    where NNN is an increasing number of the commits of today.

    The letter "M" is to be appended if it is locally modifed, or if not ALL commits before the most recently applied one are applied.

    If you could do that, and also make a web frontend supporting such "revision numbers", we could use that and replace svnversion by it.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat May 23, 2009 7:13 pm

  • In the same breath, the fact that git itself is a newer VCS, the projects (Nexuiz and git) can mutually benefit from this relationship. Why wouldn't they want to brag about a kick-ass video game that runs great on Linux using their system?


    For the record, I'm against using github as a hosting solution if icculus.org already provides it without limits... unless github were to give Nexuiz an unlimited account free of charge.

    GitHub really isn't as bad as you think it is divVerent, I've found it quite convenient in helping me get setup with git. It does half the work for you.
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Sat May 23, 2009 7:15 pm

  • C167: are you developing anything for nexuiz? If not then why does your _forceful_ _opinion_ _matter_.

    In this _instance_ there _is_ you _fanboying_ for git _and_ then there _is_ a _developer_ who _actually_ is doing something _with_ the source control thingamaging _on_ a _regular_ basis _saying_ that _he_likes_ _svn_ in this _instance_.

    Who's _opinion_ should _take_ precedence?

    Ah, ofcourse, the player's opinion should win even when we're talking about workflow management of the _developer_.

    My bad, I forgot!
    tundramagi
    Forum addon
     
    Posts: 974
    Joined: Sun Jan 04, 2009 4:53 pm

Sat May 23, 2009 7:21 pm

  • Stop trying to break out a war. He's obviously a developer of some sort and his input on the pros and cons of either system is valuable.

    No one's made a final decision yet and it sounds like it's going to end up staying SVN until we can justify a change. Because obviously we want the system to support everything SVN does and more. Don't get so worked up over it.
    Last edited by [-z-] on Sat May 23, 2009 7:22 pm, edited 1 time in total.
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Sat May 23, 2009 7:22 pm

  • For once teh troll is talking business.
    quit for good
    alpha
    Alien trapper
     
    Posts: 492
    Joined: Tue Jun 17, 2008 7:18 pm

Sat May 23, 2009 7:25 pm

  • divVerent wrote:Revision numbers help a lot when people report bugs.

    "I found this bug and am using revision 3891".

    If you then know you fixed the bug in revision 3893, you simply tell him to update.

    With these weird hashes, you'd have to manually check out this revision and verify that the bug is fixed in it.


    If you know the hash of your bugfix commit (found with "git log --grep" for instance), you can run something like "git log $bugfix..$bug" and look at output; no output = $bug is ancestor of $bugfix and has probably been fixed by it. There's also "git tag --contains", "git branch --contains", and probably (and perhaps unfortunately) a dozen other ways to test reachability due to commits being nodes in a graph.
    User avatar
    parasti
    Alien
     
    Posts: 110
    Joined: Sun May 11, 2008 11:32 pm
    Location: On the walls and the ceiling

Sat May 23, 2009 7:31 pm

  • None of these methods are as simple and efficient as comparing two small numbers. You don't need any tools for THAT.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat May 23, 2009 7:40 pm

  • [-z-] wrote:
    Alien wrote:Yet, no one can tell, how git is better than mercurial.


    This answer was posted a few pages back: http://whygitisbetterthanx.com/#hg


    I posted to show how stupid this site is. :D It demonstrates how good git is (writing about git features) without actually comparing anything. Pure fanboyism! Now read some proper non biased comparison (and Linus Torvalds does not work as an argument).

    And Mercurial uses revision numbers. Mercurial = git + more features. You just need to figure it out before getting hyped by github thing.

    This is unbiased post saying none is better, just comparing and enumerating pros and cons:
    http://www.rockstarprogrammer.org/post/ ... l-and-git/
    Last edited by Alien on Sat May 23, 2009 7:56 pm, edited 1 time in total.
    Alien
    Forum addon
     
    Posts: 1212
    Joined: Tue Apr 22, 2008 7:12 am

Sat May 23, 2009 7:42 pm

  • I'm not part of the RoR circle jerk and still enjoy git. It's never been as painful to me as SVN. You can't honestly tell me you've never fucked up SVN.
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Sat May 23, 2009 7:45 pm

  • [-z-] wrote:I'm not part of the RoR circle jerk and still enjoy git. It's never been as painful to me as SVN. You can't honestly tell me you've never fucked up SVN.


    I can honestly say I've never fucked up SVN, but that is because I'm worthless at everything and don't contribute anything :).

    I've only really worked alone on my own projects so never needed version control.
    The one time I worked with another person we just edited the file over ssh with the editor jed and took turns doing edit, reloading file etc, saving. We communicated over IRC. It was fun.
    tundramagi
    Forum addon
     
    Posts: 974
    Joined: Sun Jan 04, 2009 4:53 pm

Sat May 23, 2009 7:50 pm

  • tundramagi wrote:
    [-z-] wrote:I'm not part of the RoR circle jerk and still enjoy git. It's never been as painful to me as SVN. You can't honestly tell me you've never fucked up SVN.


    I can honestly say I've never fucked up SVN, but that is because I'm worthless at everything and don't contribute anything :).

    I've only really worked alone on my own projects so never needed version control.
    The one time I worked with another person we just edited the file over ssh with the editor jed and took turns doing edit, reloading file etc, saving. We communicated over IRC. It was fun.


    Both of your points pretty much nullify the use of a VCS. The first one, at least for this matter. It's still a good idea to version software you're writing alone but it's obviously a lot harder to break it when you're the only one working in it.
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Sat May 23, 2009 7:58 pm

  • I edited my post above adding link.
    Alien
    Forum addon
     
    Posts: 1212
    Joined: Tue Apr 22, 2008 7:12 am

PreviousNext


Return to Nexuiz - Development




Information
  • Who is online
  • Users browsing this forum: No registered users and 1 guest