Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Ferg
May 6, 2007

Lipstick Apathy
So I'm aware that msysgit is somewhat buggy in comparison to it's UNIX counterpart, but I'm not sure if msys is to blame for this issue or if I'm just an idiot:

Assume I have branch master, development and release. If I have development checked out, and do a
code:
$ git pull origin some_new_feature
it pulls and merges with my current branch. However, when I then perform the merge and make any necessary commits, I think go and checkout the release branch.

Now I'm in the release branch and do a
code:
$ git status
and what is there? The exact same pull from some_new_feature I just did in the development branch. It shows up as a list of modified files in every single branch I checkout until I've merged it everywhere.

I blame msysgit because I haven't been able to replicate this on my Linux setup that I use at home. Is this a common issue? It's loving annoying.

Adbot
ADBOT LOVES YOU

Ferg
May 6, 2007

Lipstick Apathy

haywire posted:

Is there a tool like gitk or the network graph generator on github, but for Windows?

Github is being slow and hasn't updated (including file listings, latest commits, branch lists and of course the graph) since this afternoon. It is pissing me off.

Gitk runs on Windows. It's part of msysgit.

There's a few alternative tools you can find here: http://git.or.cz/gitwiki/InterfacesFrontendsAndTools#GraphicalInterfaces, but all of the Windows tools I found on there were kind of poo poo. The best alternative to gitk that I've found is gitg for Linux which is only prettier than gitk, it's not more powerful.

Ferg
May 6, 2007

Lipstick Apathy

king_kilr posted:

There is: http://code.google.com/p/tortoisegit/ . I've never used it though, I'm a cmd line *and* Linux whore.

TortoiseGit, as well as GitExtensions fall flat on their face with regards to functionality in my experience. I just don't see Git as a tool you can use outside of the commandline, or at least without using both simultaneously. I just use the bash shell that msysgit includes and run it purely out of that.

Ferg
May 6, 2007

Lipstick Apathy

samiamwork posted:

I had read through their analysis (http://code.google.com/p/support/wiki/DVCSAnalysis) and I totally understood why they went with Mercurial over Git. I'm not saying they *should* have gone with Git, just that I wish they had gone with Git since I like both Git and Google Code.

Strangely enough they didn't seem to think porting the file store to BigTable was any harder with either.

Despite it's tendency to get bogged down from time to time, I actually prefer GitHub over Google Code personally. It targets more of the atmosphere I would like from a public code repository than Google Code does.

Ferg
May 6, 2007

Lipstick Apathy
Does anybody know how exactly a git graph is built out? I figured it'd be a fun project to build a graphing tool, something to compliment a git tool I've already built, but I can't seem to find any information that really explains the concept behind it, at the lowest possible level within git.

Ferg
May 6, 2007

Lipstick Apathy

bitprophet posted:

Don't most of the various tools print out parent and child SHAs all over the place? or is that not what you're looking for?

How will you know when a fork/merge occurred though and when?

Ferg
May 6, 2007

Lipstick Apathy

Milde posted:

If a changeset has more than one child, new branches have been created. If a changeset has more than one parent, a merge has occurred.

http://eagain.net/articles/git-for-computer-scientists/
http://git.kernel.org/?p=git/git.git;a=blob;f=graph.c;h=6746d422a98ed010489d4ce74b26a8a4600b183e;hb=HEAD

This might be easier to read than graph.c, and Mercurial's history model is essentially the same as Git's: http://selenic.com/repo/hg/file/17da88da1abd/hgext/graphlog.py

Ha, okay so this was way simpler than I had imagined. But thanks, much appreciated :)

Adbot
ADBOT LOVES YOU

Ferg
May 6, 2007

Lipstick Apathy

Pardot posted:

The reason it's called git is because it's a "stupid content tracker". It's incredibly simple in the way it does things, which is good.

Yeah, reading through the article on Git for Computer Scientists really puts a lot into perspective. The trick I'm finding now is that git commit objects are only aware of their parents, not their children, so it's easy enough to figure out when to split the graph moving backwards, but pulling it back in is a bit trickier.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply