project-navigation
Personal tools

Author Topic: The GIT problem  (Read 22671 times)

Offline Duke

  • Administrator
  • PHALANX veteran
  • *****
  • Posts: 1037
    • View Profile
The GIT problem
« on: October 06, 2010, 11:37:22 pm »
I have to agree - I think the move from SVN to Git was a mistake, ...
Emotionally, I agree with much of what Destructavator wrote in the above post. But let's face the facts. It doesn't help us to discuss how the move could have been done better, later or at all.
We *have* moved to GIT.

It's a classical deadlock:
- Mattn *needs* GIT to merge branches
- many other teammembers and contributers strongly dislike GIT for the inconvience or even ran into serious problems and are nearly *disabled* (and not just Windoze users).
We're stuck. We can't simply move in either direction. We must solve at least the serious problems to get going again.

Such a situation automatically becomes the *#1 priority of the project*. I'd like to see everybody to do whatever he can to help resolving the problems. Don't stand aside.

So let's first collect the *serious* problems. I'm not talking about inconvenience, just *showstoppers*. I only see a few:
SVN:
- merging branches
afaik Mattn is the only one who does this work, but everyone else relies on this work. We need Mattn for more important things ;)

GIT:
- stashing
I don't mean the inconvenience of a few clicks around an upbase. I need a modified .cproject, .project and ufo.rc just to compile. I have no nice idea how to separate these from the actual changes in the source.

- clone
The devs will sooner or later get their clone, but for a *new* contributor the 1.6 GB plus the learning of GIT is too much of a hurdle for most of the potential contributors imho.


For the solutions I'll start separate topics for each problem. I can also imagine a dedicated board for 'GIT problems & solutions'. And YES, there will also be a topic 'GIT convenience problems' ;)

But before starting to talk about solutions: does anyone see more problems that classify as 'showstoppers' ?

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: The GIT problem
« Reply #1 on: October 07, 2010, 02:22:57 am »
I see a few "showstopper" issues right off the bat, although I'm going to attempt to list a few potential solutions rather than just bitch and whine about them:

- First, The official Git software for Windows doesn't work on my system - I've given it more testing and it repeatedly produces hard disk write errors, as well as destabilizing the system sometimes.  I've already been forced to restore the hard drive partition from a backup once already.

For solutions, is there another software package for Windows that can do the same thing?  Another thought, one that I really should have thought of before, is that I multi-boot some of my systems, and I could try accessing the Git repo for this project when Ubuntu is up and running.  This might work, but would still be inconvenient because most of my design software is for Windows, so I'd have to shut everything down and re-boot to Ubuntu to update or commit changes.

- Second, Even if I don't make any changes to any files at all, or if I get a read-only copy downloaded (I've tried both), I can only get updates for a master branch once or twice before it refuses to update anymore and spits out errors saying it won't do it.  The only thing that works at that point is to delete the whole working copy and start over from scratch by re-downloading the whole entire thing all over again, which on my DSL connection takes a number of long hours.

I can't think of a solution to this one other than fixing the first issue first, which may result in this second issue going away - I really don't know.

Side Note:  Does the *whole* *entire* system absolutely *have* to be in Git?  Could we leave the Data Source in SVN, or even have just the source code in Git?  If if was split than artists and other non-coders could very easily contribute and update their stuff, while the coders would have the code in Git and do what they need to there.  Also, since we have the auto-build bot system now, a non-coding artist could test their changes with recent code by grabbing the built binaries, and not have to bother with Git software at all.  Such a contributor would not need source code anyways.

Offline Crystan

  • Project Artist
  • Captain
  • ***
  • Posts: 572
  • UFO:AI Lead Sound Artist
    • View Profile
    • http://crysea.cr.funpic.de/
Re: The GIT problem
« Reply #2 on: October 07, 2010, 03:06:07 am »
Side Note:  Does the *whole* *entire* system absolutely *have* to be in Git?  Could we leave the Data Source in SVN, or even have just the source code in Git?  If if was split than artists and other non-coders could very easily contribute and update their stuff, while the coders would have the code in Git and do what they need to there.

That were exactly my thoughts when i noticed the first time that git is total shit for artist stuff. ;) But i thought ppl would dislike the idea.
« Last Edit: October 07, 2010, 03:16:55 am by Crystan »

Offline H-Hour

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1923
    • View Profile
Re: The GIT problem
« Reply #3 on: October 07, 2010, 10:48:15 am »
Git isn't shit for artists. I'm sorry but there's nothing that's more difficult in GIT than it was in SVN except the initial setup. Comitting is just as easy. And GIT is not a barrier to new art contributors simply because new art contributors don't start by making their own commits anyway.

Destructavator, the file I downloaded for GIT was Git-1.7.0.2-preview20100309.exe. Is that what you've been using? I then downloaded TortoiseGit-1.5.3.0-64bit.exe, but as I said, I don't use that for any of the setup. Use the GitBash interface so that you can put the commands in directly.

Second, also for Destructavator or anyone else, what are the errors you get? I've searched the IRC logs but haven't found any specific errors mentioned. Mattn or Tron will need these in order to help you work through them. Commands like git status and git log can be helpful to get a sense of what's happening on your local repository.


Offline Duke

  • Administrator
  • PHALANX veteran
  • *****
  • Posts: 1037
    • View Profile
Re: The GIT problem
« Reply #4 on: October 08, 2010, 12:50:08 am »
@Destructavator:
I'm using Git-1.7.2.3-preview20100911 and have to say that it seems to 'work as designed'. I could do a few commits (assisted by Mattn) and quite some fetches without screwing anything else.
It often refused to do what I *wanted*. but I didn't see anything that would classify as a bug.

Also, I wouldn't expect a software like GIT to go down to a level where it can cause HD problems. But you'll never know...

I don't trust TortoiseGit, though. This SW seems very immature to me. And the attempt to be a bit like SVN and a bit like GIT has failed imho. Well, it exploded here two days ago anyway...

Has anyone tried GIT GUI ? It looks usable. If I could only make it talk english again.

Offline H-Hour

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1923
    • View Profile
Re: The GIT problem
« Reply #5 on: October 08, 2010, 11:16:12 am »
I haven't used the GIT GUI, but it does look promising. What I couldn't see how to do was Add a file, which is what artists tend to do. But it looks like it might be a decent interface for making local commits and then pushing them, although I've found Tortoise does work for making local commits.

Offline Crystan

  • Project Artist
  • Captain
  • ***
  • Posts: 572
  • UFO:AI Lead Sound Artist
    • View Profile
    • http://crysea.cr.funpic.de/
Re: The GIT problem
« Reply #6 on: October 08, 2010, 02:08:40 pm »
Well i got a idea today. Wouldnt it be possible to create a .bat (or maybe a simple wingui?) that does the setup automatical? So you just have to enter your "account data" and the clone path. Maybe another bat file for both commits types and for pull/fetch? I dont know - maybe its a dumb idea. Opinions?

Offline H-Hour

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1923
    • View Profile
Re: The GIT problem
« Reply #7 on: October 08, 2010, 02:28:22 pm »
Well i got a idea today. Wouldnt it be possible to create a .bat (or maybe a simple wingui?) that does the setup automatical? So you just have to enter your "account data" and the clone path. Maybe another bat file for both commits types and for pull/fetch? I dont know - maybe its a dumb idea. Opinions?

GIT GUI basically does this for getting the initial checkout, and then I think it's more straightforward to use the config commands in the wiki for those who need write access.

I don't think it would be a good idea for commits or fetching. It would be more complicated than it's worth for committing -- you'd need an interface for adding new files and then choosing which files to commit (basically what Tortoise will give you). And fetching is as simple as entering "git fetch" into the git command line.

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: The GIT problem
« Reply #8 on: October 12, 2010, 10:46:11 pm »
Sorry I've been out for a bit, but, anyways:

Yes, I had HD problems and other system stability problems with the official Git installer, although it was an older one than the one now offered for download.

The reason I didn't report error messages in IRC or such is because:

A)  Some of the problems did not cause specific error messages in text I could copy anywhere, it simply f***ed-up my system (even corrupted Windows File Explorer),

and,

B)  Mattn and Tron wouldn't be able to fix them anyways, because it isn't on their end, it's with the Git software itself, and unless Mattn and Tron joined the Git development team, they wouldn't have anything to do about it.

That being said, I've noticed several new released versions that have come out since then, so sometime soon I'll back up everything on my Windows partition and CAREFULLY install the newer Git software to see if it actually works.

As for the TortoiseGit stuff, I agree that it isn't (yet) reliable, so I won't even bother with that.

If things still fail though, I guess I'll have to resort to commit/update via rebooting to Linux - I just noticed a couple of days ago a new version of the Ubuntu and many of its derivatives have been released.

Offline Duke

  • Administrator
  • PHALANX veteran
  • *****
  • Posts: 1037
    • View Profile
Re: The GIT problem
« Reply #9 on: October 13, 2010, 12:10:44 am »
@Crystan:
I pretty much agree with H-Hour on those .bat files. Usually not flexible enough.

We certainly are not the only devs on this planet that have these probs with GIT. So our best bet is to figure out how *they* solved it.

Offline ManicMiner

  • Squad Leader
  • ****
  • Posts: 113
    • View Profile
Re: The GIT problem
« Reply #10 on: October 15, 2010, 06:31:47 pm »
I had a ludicrously fat internet pipe available to me the other night, and finally got round to using GIT GUI to grab the source.

Tonight, if I annoy my wife enough to have to sleep on the sofa, I'm going to have a play with it.

Also, a rather mad idea just came to me... If I've downloaded the entire source to a seperate folder, can I not just copy the modified files into the folder used for Muton's build source, and use that to recompile it, without redoing all the maps?


« Last Edit: October 15, 2010, 06:34:29 pm by ManicMiner »

Offline O01eg

  • Rookie
  • ***
  • Posts: 73
    • View Profile
Re: The GIT problem
« Reply #11 on: October 16, 2010, 09:41:35 am »
Why do I get archive without base/ directory when I do `git archive` of master branch?

Offline Mattn

  • CaveExpress
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4830
  • www.caveproductions.org
    • View Profile
    • CaveExpress
Re: The GIT problem
« Reply #12 on: October 16, 2010, 02:42:54 pm »
see .gitattributes

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: The GIT problem
« Reply #13 on: October 24, 2010, 04:05:33 pm »
How to push to origin master ???

Code: (sh) [Select]
$ git commit --author="Muton <mutonufoai@users.sourceforge.net>"  -m "* data.mk fixes (do not use 7z)" -v -i build/data.mk
$ git log -1
commit 7a0c75e6f2d861552f489855c14ef9d71d56fb52
Author: Muton <mutonufoai@users.sourceforge.net>
Date:   Sun Oct 24 15:42:19 2010 +0200

    * data.mk fixes (do not use 7z)

$ git push --dry-run -v origin 7a0c75e6f2d861552f489855c14ef9d71d56fb52:master
Pushing to git://ufoai.git.sourceforge.net/gitroot/ufoai/ufoai
fatal: The remote end hung up unexpectedly

Offline Mattn

  • CaveExpress
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4830
  • www.caveproductions.org
    • View Profile
    • CaveExpress
Re: The GIT problem
« Reply #14 on: October 24, 2010, 11:22:17 pm »
send the output of

git branch -vv

git cherry -v

do you track the remote master? please read the wiki article about configure git (username and email, then you don't have to specify the user or the email each time)